{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Signal denoising\n",
    "\n",
    "This notebook accompanies the paper [Learning Convex Optimization Models](https://web.stanford.edu/~boyd/papers/learning_copt_models.html)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import math\n",
    "\n",
    "import cvxpy as cp\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import torch\n",
    "from cvxpylayers.torch import CvxpyLayer\n",
    "\n",
    "import latexify\n",
    "latexify.latexify()\n",
    "\n",
    "torch.set_default_tensor_type(torch.DoubleTensor)\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "torch.random.manual_seed(0)\n",
    "np.random.seed(0)\n",
    "N_train = 500\n",
    "N_val = 100\n",
    "n = 100\n",
    "m = 100\n",
    "n_regions = 100\n",
    "n_points_per_region = n // n_regions\n",
    "Sigma_sqrt = 0.1*np.random.randn(n, n)\n",
    "Sigma = Sigma_sqrt.T @ Sigma_sqrt\n",
    "normal = torch.distributions.MultivariateNormal(loc=torch.zeros(n), covariance_matrix=torch.tensor(Sigma))\n",
    "\n",
    "inputs = []\n",
    "outputs = []\n",
    "eval_pts = torch.linspace(0, 2*math.pi, n)\n",
    "for i in range(N_train + N_val):\n",
    "    b = np.random.uniform(low=1, high=3)\n",
    "    y = torch.cos(b*eval_pts)\n",
    "    x = y.clone()\n",
    "    x += normal.sample()\n",
    "    inputs.append(x)\n",
    "    outputs.append(y)\n",
    "\n",
    "inputs = torch.stack(inputs)\n",
    "outputs = torch.stack(outputs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f00f1d5e040>]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "idx = np.random.randint(low=0, high=N_train+N_val)\n",
    "plt.plot(inputs[idx])\n",
    "plt.plot(outputs[idx])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_train = inputs[:N_train]\n",
    "Y_train = outputs[:N_train]\n",
    "\n",
    "X_val = inputs[N_train:]\n",
    "Y_val = outputs[N_train:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def create_layer():\n",
    "    y_cp = cp.Variable(n)\n",
    "    x_minus_y = cp.Variable(n)\n",
    "    \n",
    "    x_param = cp.Parameter(n)\n",
    "    theta_param = cp.Parameter((n, n))\n",
    "    lambda_param = cp.Parameter(pos=True)\n",
    "    objective = (\n",
    "        cp.sum_squares(theta_param @ x_minus_y) +\n",
    "        lambda_param*cp.sum_squares(cp.diff(y_cp))\n",
    "    )\n",
    "    constraints = [\n",
    "        x_minus_y == x_param - y_cp\n",
    "    ]\n",
    "    problem = cp.Problem(cp.Minimize(objective), constraints)\n",
    "    layer = CvxpyLayer(\n",
    "        problem,\n",
    "        parameters=[x_param, theta_param, lambda_param],\n",
    "        variables=[y_cp])\n",
    "    return layer\n",
    "    \n",
    "\n",
    "layer = create_layer()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch\n",
    "from torch.utils.data import TensorDataset, DataLoader\n",
    "import numpy as np\n",
    "from cvxpylayers.torch import CvxpyLayer\n",
    "\n",
    "torch.set_default_dtype(torch.double)\n",
    "\n",
    "from tqdm.notebook import tqdm\n",
    "\n",
    "\n",
    "def fit(loss, params, X, Y, Xval, Yval, batch_size=128, lr=1e-3, epochs=100, verbose=False, print_every=1, callback=None):\n",
    "    \"\"\"\n",
    "\n",
    "    Arguments:\n",
    "        loss: given x and y in batched form, evaluates loss.\n",
    "        params: list of parameters to optimize.\n",
    "        X: input data, torch tensor.\n",
    "        Y: output data, torch tensor.\n",
    "        Xval: input validation data, torch tensor.\n",
    "        Yval: output validation data, torch tensor.\n",
    "    \"\"\"\n",
    "\n",
    "    train_dset = TensorDataset(X, Y)\n",
    "    train_loader = DataLoader(train_dset, batch_size=batch_size, shuffle=True)\n",
    "    opt = torch.optim.Adam(params, lr=lr)\n",
    "\n",
    "    train_losses = []\n",
    "    val_losses = []\n",
    "    for epoch in tqdm(range(epochs)):\n",
    "        if callback is not None:\n",
    "            callback()\n",
    "            \n",
    "        with torch.no_grad():\n",
    "            val_losses.append(loss(Xval, Yval).item())\n",
    "        if verbose and epoch % print_every == 0:\n",
    "            print(\"val loss %03d | %3.5f\" % (epoch + 1, val_losses[-1]))\n",
    "\n",
    "        batch = 1\n",
    "        train_losses.append([])\n",
    "        for Xbatch, Ybatch in train_loader:\n",
    "            opt.zero_grad()\n",
    "            l = loss(Xbatch, Ybatch)\n",
    "            l.backward()\n",
    "            opt.step()\n",
    "            train_losses[-1].append(l.item())\n",
    "            if verbose and epoch % print_every == 0:\n",
    "                print(\"batch %03d / %03d | %3.5f\" %\n",
    "                      (batch, len(train_loader), np.mean(train_losses[-1])))\n",
    "            batch += 1\n",
    "    return val_losses, train_losses"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "theta_tch = torch.eye(n, requires_grad=True)\n",
    "lambda_tch = torch.tensor(0.5, requires_grad=True)\n",
    "params = [theta_tch, lambda_tch]\n",
    "\n",
    "def loss_fn(X, actual):\n",
    "    preds = layer(X, theta_tch, lambda_tch)[0]\n",
    "    mse_per_example = (preds - actual).pow(2).mean(axis=1)\n",
    "    return mse_per_example.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6bc29851e73b4f0b93f35f3cdb925dd5",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "HBox(children=(FloatProgress(value=0.0, max=150.0), HTML(value='')))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "val loss 001 | 0.38692\n",
      "batch 001 / 008 | 0.39239\n",
      "batch 002 / 008 | 0.36840\n",
      "batch 003 / 008 | 0.35093\n",
      "batch 004 / 008 | 0.33016\n",
      "batch 005 / 008 | 0.31447\n",
      "batch 006 / 008 | 0.30035\n",
      "batch 007 / 008 | 0.28926\n",
      "batch 008 / 008 | 0.27819\n",
      "val loss 002 | 0.18375\n",
      "batch 001 / 008 | 0.15358\n",
      "batch 002 / 008 | 0.15582\n",
      "batch 003 / 008 | 0.15099\n",
      "batch 004 / 008 | 0.14711\n",
      "batch 005 / 008 | 0.14485\n",
      "batch 006 / 008 | 0.14298\n",
      "batch 007 / 008 | 0.14213\n",
      "batch 008 / 008 | 0.14041\n",
      "val loss 003 | 0.12666\n",
      "batch 001 / 008 | 0.10916\n",
      "batch 002 / 008 | 0.10473\n",
      "batch 003 / 008 | 0.10236\n",
      "batch 004 / 008 | 0.10073\n",
      "batch 005 / 008 | 0.09937\n",
      "batch 006 / 008 | 0.09847\n",
      "batch 007 / 008 | 0.09814\n",
      "batch 008 / 008 | 0.09792\n",
      "val loss 004 | 0.09905\n",
      "batch 001 / 008 | 0.08246\n",
      "batch 002 / 008 | 0.07950\n",
      "batch 003 / 008 | 0.07900\n",
      "batch 004 / 008 | 0.07947\n",
      "batch 005 / 008 | 0.07868\n",
      "batch 006 / 008 | 0.07844\n",
      "batch 007 / 008 | 0.07735\n",
      "batch 008 / 008 | 0.07601\n",
      "val loss 005 | 0.08335\n",
      "batch 001 / 008 | 0.06124\n",
      "batch 002 / 008 | 0.06315\n",
      "batch 003 / 008 | 0.06226\n",
      "batch 004 / 008 | 0.06328\n",
      "batch 005 / 008 | 0.06308\n",
      "batch 006 / 008 | 0.06298\n",
      "batch 007 / 008 | 0.06294\n",
      "batch 008 / 008 | 0.06227\n",
      "val loss 006 | 0.07242\n",
      "batch 001 / 008 | 0.05574\n",
      "batch 002 / 008 | 0.05400\n",
      "batch 003 / 008 | 0.05453\n",
      "batch 004 / 008 | 0.05273\n",
      "batch 005 / 008 | 0.05338\n",
      "batch 006 / 008 | 0.05294\n",
      "batch 007 / 008 | 0.05229\n",
      "batch 008 / 008 | 0.05290\n",
      "val loss 007 | 0.06265\n",
      "batch 001 / 008 | 0.05093\n",
      "batch 002 / 008 | 0.04656\n",
      "batch 003 / 008 | 0.04642\n",
      "batch 004 / 008 | 0.04600\n",
      "batch 005 / 008 | 0.04644\n",
      "batch 006 / 008 | 0.04633\n",
      "batch 007 / 008 | 0.04650\n",
      "batch 008 / 008 | 0.04684\n",
      "val loss 008 | 0.05600\n",
      "batch 001 / 008 | 0.04069\n",
      "batch 002 / 008 | 0.04080\n",
      "batch 003 / 008 | 0.04000\n",
      "batch 004 / 008 | 0.04070\n",
      "batch 005 / 008 | 0.04129\n",
      "batch 006 / 008 | 0.04135\n",
      "batch 007 / 008 | 0.04157\n",
      "batch 008 / 008 | 0.04179\n",
      "val loss 009 | 0.05137\n",
      "batch 001 / 008 | 0.03649\n",
      "batch 002 / 008 | 0.03587\n",
      "batch 003 / 008 | 0.03713\n",
      "batch 004 / 008 | 0.03751\n",
      "batch 005 / 008 | 0.03757\n",
      "batch 006 / 008 | 0.03770\n",
      "batch 007 / 008 | 0.03804\n",
      "batch 008 / 008 | 0.03811\n",
      "val loss 010 | 0.04748\n",
      "batch 001 / 008 | 0.03505\n",
      "batch 002 / 008 | 0.03501\n",
      "batch 003 / 008 | 0.03558\n",
      "batch 004 / 008 | 0.03532\n",
      "batch 005 / 008 | 0.03481\n",
      "batch 006 / 008 | 0.03530\n",
      "batch 007 / 008 | 0.03572\n",
      "batch 008 / 008 | 0.03578\n",
      "val loss 011 | 0.04512\n",
      "batch 001 / 008 | 0.03331\n",
      "batch 002 / 008 | 0.03280\n",
      "batch 003 / 008 | 0.03245\n",
      "batch 004 / 008 | 0.03226\n",
      "batch 005 / 008 | 0.03312\n",
      "batch 006 / 008 | 0.03340\n",
      "batch 007 / 008 | 0.03345\n",
      "batch 008 / 008 | 0.03359\n",
      "val loss 012 | 0.04268\n",
      "batch 001 / 008 | 0.03047\n",
      "batch 002 / 008 | 0.03036\n",
      "batch 003 / 008 | 0.03012\n",
      "batch 004 / 008 | 0.03098\n",
      "batch 005 / 008 | 0.03116\n",
      "batch 006 / 008 | 0.03187\n",
      "batch 007 / 008 | 0.03226\n",
      "batch 008 / 008 | 0.03229\n",
      "val loss 013 | 0.04065\n",
      "batch 001 / 008 | 0.02952\n",
      "batch 002 / 008 | 0.02913\n",
      "batch 003 / 008 | 0.02887\n",
      "batch 004 / 008 | 0.02921\n",
      "batch 005 / 008 | 0.02943\n",
      "batch 006 / 008 | 0.02989\n",
      "batch 007 / 008 | 0.03002\n",
      "batch 008 / 008 | 0.03070\n",
      "val loss 014 | 0.03819\n",
      "batch 001 / 008 | 0.02831\n",
      "batch 002 / 008 | 0.02847\n",
      "batch 003 / 008 | 0.02805\n",
      "batch 004 / 008 | 0.02785\n",
      "batch 005 / 008 | 0.02857\n",
      "batch 006 / 008 | 0.02873\n",
      "batch 007 / 008 | 0.02929\n",
      "batch 008 / 008 | 0.02946\n",
      "val loss 015 | 0.03725\n",
      "batch 001 / 008 | 0.02424\n",
      "batch 002 / 008 | 0.02463\n",
      "batch 003 / 008 | 0.02544\n",
      "batch 004 / 008 | 0.02614\n",
      "batch 005 / 008 | 0.02643\n",
      "batch 006 / 008 | 0.02715\n",
      "batch 007 / 008 | 0.02711\n",
      "batch 008 / 008 | 0.02770\n",
      "val loss 016 | 0.03471\n",
      "batch 001 / 008 | 0.02500\n",
      "batch 002 / 008 | 0.02484\n",
      "batch 003 / 008 | 0.02589\n",
      "batch 004 / 008 | 0.02559\n",
      "batch 005 / 008 | 0.02599\n",
      "batch 006 / 008 | 0.02571\n",
      "batch 007 / 008 | 0.02573\n",
      "batch 008 / 008 | 0.02615\n",
      "val loss 017 | 0.03279\n",
      "batch 001 / 008 | 0.02507\n",
      "batch 002 / 008 | 0.02461\n",
      "batch 003 / 008 | 0.02455\n",
      "batch 004 / 008 | 0.02423\n",
      "batch 005 / 008 | 0.02421\n",
      "batch 006 / 008 | 0.02453\n",
      "batch 007 / 008 | 0.02463\n",
      "batch 008 / 008 | 0.02487\n",
      "val loss 018 | 0.03187\n",
      "batch 001 / 008 | 0.02229\n",
      "batch 002 / 008 | 0.02215\n",
      "batch 003 / 008 | 0.02239\n",
      "batch 004 / 008 | 0.02268\n",
      "batch 005 / 008 | 0.02292\n",
      "batch 006 / 008 | 0.02329\n",
      "batch 007 / 008 | 0.02339\n",
      "batch 008 / 008 | 0.02372\n",
      "val loss 019 | 0.02999\n",
      "batch 001 / 008 | 0.02192\n",
      "batch 002 / 008 | 0.02214\n",
      "batch 003 / 008 | 0.02135\n",
      "batch 004 / 008 | 0.02144\n",
      "batch 005 / 008 | 0.02156\n",
      "batch 006 / 008 | 0.02193\n",
      "batch 007 / 008 | 0.02223\n",
      "batch 008 / 008 | 0.02294\n",
      "val loss 020 | 0.02956\n",
      "batch 001 / 008 | 0.02007\n",
      "batch 002 / 008 | 0.02010\n",
      "batch 003 / 008 | 0.02015\n",
      "batch 004 / 008 | 0.02050\n",
      "batch 005 / 008 | 0.02090\n",
      "batch 006 / 008 | 0.02161\n",
      "batch 007 / 008 | 0.02173\n",
      "batch 008 / 008 | 0.02196\n",
      "val loss 021 | 0.02727\n",
      "batch 001 / 008 | 0.01973\n",
      "batch 002 / 008 | 0.02083\n",
      "batch 003 / 008 | 0.02053\n",
      "batch 004 / 008 | 0.02069\n",
      "batch 005 / 008 | 0.02062\n",
      "batch 006 / 008 | 0.02051\n",
      "batch 007 / 008 | 0.02109\n",
      "batch 008 / 008 | 0.02132\n",
      "val loss 022 | 0.02722\n",
      "batch 001 / 008 | 0.01966\n",
      "batch 002 / 008 | 0.01933\n",
      "batch 003 / 008 | 0.01970\n",
      "batch 004 / 008 | 0.02009\n",
      "batch 005 / 008 | 0.01997\n",
      "batch 006 / 008 | 0.02019\n",
      "batch 007 / 008 | 0.02023\n",
      "batch 008 / 008 | 0.02068\n",
      "val loss 023 | 0.02600\n",
      "batch 001 / 008 | 0.01918\n",
      "batch 002 / 008 | 0.01901\n",
      "batch 003 / 008 | 0.01890\n",
      "batch 004 / 008 | 0.01884\n",
      "batch 005 / 008 | 0.01936\n",
      "batch 006 / 008 | 0.01967\n",
      "batch 007 / 008 | 0.02011\n",
      "batch 008 / 008 | 0.02025\n",
      "val loss 024 | 0.02491\n",
      "batch 001 / 008 | 0.01845\n",
      "batch 002 / 008 | 0.01760\n",
      "batch 003 / 008 | 0.01853\n",
      "batch 004 / 008 | 0.01856\n",
      "batch 005 / 008 | 0.01882\n",
      "batch 006 / 008 | 0.01914\n",
      "batch 007 / 008 | 0.01920\n",
      "batch 008 / 008 | 0.01959\n",
      "val loss 025 | 0.02474\n",
      "batch 001 / 008 | 0.01851\n",
      "batch 002 / 008 | 0.01792\n",
      "batch 003 / 008 | 0.01805\n",
      "batch 004 / 008 | 0.01829\n",
      "batch 005 / 008 | 0.01820\n",
      "batch 006 / 008 | 0.01860\n",
      "batch 007 / 008 | 0.01851\n",
      "batch 008 / 008 | 0.01908\n",
      "val loss 026 | 0.02413\n",
      "batch 001 / 008 | 0.01708\n",
      "batch 002 / 008 | 0.01692\n",
      "batch 003 / 008 | 0.01684\n",
      "batch 004 / 008 | 0.01691\n",
      "batch 005 / 008 | 0.01743\n",
      "batch 006 / 008 | 0.01775\n",
      "batch 007 / 008 | 0.01824\n",
      "batch 008 / 008 | 0.01839\n",
      "val loss 027 | 0.02347\n",
      "batch 001 / 008 | 0.01691\n",
      "batch 002 / 008 | 0.01703\n",
      "batch 003 / 008 | 0.01726\n",
      "batch 004 / 008 | 0.01743\n",
      "batch 005 / 008 | 0.01769\n",
      "batch 006 / 008 | 0.01770\n",
      "batch 007 / 008 | 0.01795\n",
      "batch 008 / 008 | 0.01818\n",
      "val loss 028 | 0.02297\n",
      "batch 001 / 008 | 0.01749\n",
      "batch 002 / 008 | 0.01701\n",
      "batch 003 / 008 | 0.01689\n",
      "batch 004 / 008 | 0.01732\n",
      "batch 005 / 008 | 0.01737\n",
      "batch 006 / 008 | 0.01744\n",
      "batch 007 / 008 | 0.01786\n",
      "batch 008 / 008 | 0.01786\n",
      "val loss 029 | 0.02241\n",
      "batch 001 / 008 | 0.01452\n",
      "batch 002 / 008 | 0.01528\n",
      "batch 003 / 008 | 0.01573\n",
      "batch 004 / 008 | 0.01646\n",
      "batch 005 / 008 | 0.01685\n",
      "batch 006 / 008 | 0.01703\n",
      "batch 007 / 008 | 0.01705\n",
      "batch 008 / 008 | 0.01726\n",
      "val loss 030 | 0.02205\n",
      "batch 001 / 008 | 0.01687\n",
      "batch 002 / 008 | 0.01619\n",
      "batch 003 / 008 | 0.01593\n",
      "batch 004 / 008 | 0.01633\n",
      "batch 005 / 008 | 0.01647\n",
      "batch 006 / 008 | 0.01662\n",
      "batch 007 / 008 | 0.01696\n",
      "batch 008 / 008 | 0.01698\n",
      "val loss 031 | 0.02147\n",
      "batch 001 / 008 | 0.01432\n",
      "batch 002 / 008 | 0.01502\n",
      "batch 003 / 008 | 0.01515\n",
      "batch 004 / 008 | 0.01561\n",
      "batch 005 / 008 | 0.01582\n",
      "batch 006 / 008 | 0.01633\n",
      "batch 007 / 008 | 0.01657\n",
      "batch 008 / 008 | 0.01668\n",
      "val loss 032 | 0.02118\n",
      "batch 001 / 008 | 0.01528\n",
      "batch 002 / 008 | 0.01492\n",
      "batch 003 / 008 | 0.01523\n",
      "batch 004 / 008 | 0.01535\n",
      "batch 005 / 008 | 0.01569\n",
      "batch 006 / 008 | 0.01554\n",
      "batch 007 / 008 | 0.01604\n",
      "batch 008 / 008 | 0.01627\n",
      "val loss 033 | 0.02021\n",
      "batch 001 / 008 | 0.01301\n",
      "batch 002 / 008 | 0.01441\n",
      "batch 003 / 008 | 0.01483\n",
      "batch 004 / 008 | 0.01550\n",
      "batch 005 / 008 | 0.01547\n",
      "batch 006 / 008 | 0.01579\n",
      "batch 007 / 008 | 0.01600\n",
      "batch 008 / 008 | 0.01622\n",
      "val loss 034 | 0.02015\n",
      "batch 001 / 008 | 0.01336\n",
      "batch 002 / 008 | 0.01397\n",
      "batch 003 / 008 | 0.01444\n",
      "batch 004 / 008 | 0.01494\n",
      "batch 005 / 008 | 0.01543\n",
      "batch 006 / 008 | 0.01562\n",
      "batch 007 / 008 | 0.01566\n",
      "batch 008 / 008 | 0.01592\n",
      "val loss 035 | 0.01978\n",
      "batch 001 / 008 | 0.01362\n",
      "batch 002 / 008 | 0.01422\n",
      "batch 003 / 008 | 0.01472\n",
      "batch 004 / 008 | 0.01518\n",
      "batch 005 / 008 | 0.01529\n",
      "batch 006 / 008 | 0.01558\n",
      "batch 007 / 008 | 0.01547\n",
      "batch 008 / 008 | 0.01558\n",
      "val loss 036 | 0.01986\n",
      "batch 001 / 008 | 0.01520\n",
      "batch 002 / 008 | 0.01459\n",
      "batch 003 / 008 | 0.01465\n",
      "batch 004 / 008 | 0.01481\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "batch 005 / 008 | 0.01487\n",
      "batch 006 / 008 | 0.01512\n",
      "batch 007 / 008 | 0.01522\n",
      "batch 008 / 008 | 0.01525\n",
      "val loss 037 | 0.01917\n",
      "batch 001 / 008 | 0.01463\n",
      "batch 002 / 008 | 0.01397\n",
      "batch 003 / 008 | 0.01414\n",
      "batch 004 / 008 | 0.01396\n",
      "batch 005 / 008 | 0.01424\n",
      "batch 006 / 008 | 0.01450\n",
      "batch 007 / 008 | 0.01477\n",
      "batch 008 / 008 | 0.01487\n",
      "val loss 038 | 0.01858\n",
      "batch 001 / 008 | 0.01432\n",
      "batch 002 / 008 | 0.01392\n",
      "batch 003 / 008 | 0.01387\n",
      "batch 004 / 008 | 0.01400\n",
      "batch 005 / 008 | 0.01403\n",
      "batch 006 / 008 | 0.01437\n",
      "batch 007 / 008 | 0.01447\n",
      "batch 008 / 008 | 0.01464\n",
      "val loss 039 | 0.01842\n",
      "batch 001 / 008 | 0.01260\n",
      "batch 002 / 008 | 0.01285\n",
      "batch 003 / 008 | 0.01315\n",
      "batch 004 / 008 | 0.01376\n",
      "batch 005 / 008 | 0.01413\n",
      "batch 006 / 008 | 0.01416\n",
      "batch 007 / 008 | 0.01410\n",
      "batch 008 / 008 | 0.01424\n",
      "val loss 040 | 0.01790\n",
      "batch 001 / 008 | 0.01294\n",
      "batch 002 / 008 | 0.01316\n",
      "batch 003 / 008 | 0.01328\n",
      "batch 004 / 008 | 0.01315\n",
      "batch 005 / 008 | 0.01300\n",
      "batch 006 / 008 | 0.01347\n",
      "batch 007 / 008 | 0.01377\n",
      "batch 008 / 008 | 0.01393\n",
      "val loss 041 | 0.01790\n",
      "batch 001 / 008 | 0.01140\n",
      "batch 002 / 008 | 0.01223\n",
      "batch 003 / 008 | 0.01313\n",
      "batch 004 / 008 | 0.01332\n",
      "batch 005 / 008 | 0.01367\n",
      "batch 006 / 008 | 0.01379\n",
      "batch 007 / 008 | 0.01384\n",
      "batch 008 / 008 | 0.01371\n",
      "val loss 042 | 0.01740\n",
      "batch 001 / 008 | 0.01262\n",
      "batch 002 / 008 | 0.01298\n",
      "batch 003 / 008 | 0.01342\n",
      "batch 004 / 008 | 0.01334\n",
      "batch 005 / 008 | 0.01322\n",
      "batch 006 / 008 | 0.01335\n",
      "batch 007 / 008 | 0.01340\n",
      "batch 008 / 008 | 0.01365\n",
      "val loss 043 | 0.01696\n",
      "batch 001 / 008 | 0.01207\n",
      "batch 002 / 008 | 0.01251\n",
      "batch 003 / 008 | 0.01291\n",
      "batch 004 / 008 | 0.01294\n",
      "batch 005 / 008 | 0.01336\n",
      "batch 006 / 008 | 0.01317\n",
      "batch 007 / 008 | 0.01350\n",
      "batch 008 / 008 | 0.01364\n",
      "val loss 044 | 0.01721\n",
      "batch 001 / 008 | 0.01167\n",
      "batch 002 / 008 | 0.01273\n",
      "batch 003 / 008 | 0.01295\n",
      "batch 004 / 008 | 0.01286\n",
      "batch 005 / 008 | 0.01305\n",
      "batch 006 / 008 | 0.01313\n",
      "batch 007 / 008 | 0.01337\n",
      "batch 008 / 008 | 0.01357\n",
      "val loss 045 | 0.01718\n",
      "batch 001 / 008 | 0.01266\n",
      "batch 002 / 008 | 0.01261\n",
      "batch 003 / 008 | 0.01265\n",
      "batch 004 / 008 | 0.01316\n",
      "batch 005 / 008 | 0.01317\n",
      "batch 006 / 008 | 0.01345\n",
      "batch 007 / 008 | 0.01344\n",
      "batch 008 / 008 | 0.01343\n",
      "val loss 046 | 0.01678\n",
      "batch 001 / 008 | 0.01247\n",
      "batch 002 / 008 | 0.01278\n",
      "batch 003 / 008 | 0.01223\n",
      "batch 004 / 008 | 0.01251\n",
      "batch 005 / 008 | 0.01283\n",
      "batch 006 / 008 | 0.01301\n",
      "batch 007 / 008 | 0.01320\n",
      "batch 008 / 008 | 0.01323\n",
      "val loss 047 | 0.01672\n",
      "batch 001 / 008 | 0.01198\n",
      "batch 002 / 008 | 0.01248\n",
      "batch 003 / 008 | 0.01293\n",
      "batch 004 / 008 | 0.01291\n",
      "batch 005 / 008 | 0.01302\n",
      "batch 006 / 008 | 0.01315\n",
      "batch 007 / 008 | 0.01337\n",
      "batch 008 / 008 | 0.01336\n",
      "val loss 048 | 0.01637\n",
      "batch 001 / 008 | 0.01330\n",
      "batch 002 / 008 | 0.01329\n",
      "batch 003 / 008 | 0.01330\n",
      "batch 004 / 008 | 0.01340\n",
      "batch 005 / 008 | 0.01310\n",
      "batch 006 / 008 | 0.01310\n",
      "batch 007 / 008 | 0.01304\n",
      "batch 008 / 008 | 0.01308\n",
      "val loss 049 | 0.01655\n",
      "batch 001 / 008 | 0.01123\n",
      "batch 002 / 008 | 0.01112\n",
      "batch 003 / 008 | 0.01118\n",
      "batch 004 / 008 | 0.01170\n",
      "batch 005 / 008 | 0.01223\n",
      "batch 006 / 008 | 0.01241\n",
      "batch 007 / 008 | 0.01269\n",
      "batch 008 / 008 | 0.01294\n",
      "val loss 050 | 0.01622\n",
      "batch 001 / 008 | 0.01321\n",
      "batch 002 / 008 | 0.01292\n",
      "batch 003 / 008 | 0.01207\n",
      "batch 004 / 008 | 0.01212\n",
      "batch 005 / 008 | 0.01266\n",
      "batch 006 / 008 | 0.01275\n",
      "batch 007 / 008 | 0.01289\n",
      "batch 008 / 008 | 0.01290\n",
      "val loss 051 | 0.01650\n",
      "batch 001 / 008 | 0.01416\n",
      "batch 002 / 008 | 0.01328\n",
      "batch 003 / 008 | 0.01277\n",
      "batch 004 / 008 | 0.01240\n",
      "batch 005 / 008 | 0.01251\n",
      "batch 006 / 008 | 0.01254\n",
      "batch 007 / 008 | 0.01279\n",
      "batch 008 / 008 | 0.01299\n",
      "val loss 052 | 0.01610\n",
      "batch 001 / 008 | 0.01214\n",
      "batch 002 / 008 | 0.01197\n",
      "batch 003 / 008 | 0.01216\n",
      "batch 004 / 008 | 0.01248\n",
      "batch 005 / 008 | 0.01246\n",
      "batch 006 / 008 | 0.01243\n",
      "batch 007 / 008 | 0.01253\n",
      "batch 008 / 008 | 0.01286\n",
      "val loss 053 | 0.01615\n",
      "batch 001 / 008 | 0.01017\n",
      "batch 002 / 008 | 0.01116\n",
      "batch 003 / 008 | 0.01135\n",
      "batch 004 / 008 | 0.01171\n",
      "batch 005 / 008 | 0.01196\n",
      "batch 006 / 008 | 0.01220\n",
      "batch 007 / 008 | 0.01259\n",
      "batch 008 / 008 | 0.01283\n",
      "val loss 054 | 0.01601\n",
      "batch 001 / 008 | 0.01033\n",
      "batch 002 / 008 | 0.01083\n",
      "batch 003 / 008 | 0.01137\n",
      "batch 004 / 008 | 0.01151\n",
      "batch 005 / 008 | 0.01176\n",
      "batch 006 / 008 | 0.01201\n",
      "batch 007 / 008 | 0.01219\n",
      "batch 008 / 008 | 0.01242\n",
      "val loss 055 | 0.01549\n",
      "batch 001 / 008 | 0.00958\n",
      "batch 002 / 008 | 0.01032\n",
      "batch 003 / 008 | 0.01089\n",
      "batch 004 / 008 | 0.01108\n",
      "batch 005 / 008 | 0.01125\n",
      "batch 006 / 008 | 0.01180\n",
      "batch 007 / 008 | 0.01202\n",
      "batch 008 / 008 | 0.01230\n",
      "val loss 056 | 0.01575\n",
      "batch 001 / 008 | 0.01104\n",
      "batch 002 / 008 | 0.01123\n",
      "batch 003 / 008 | 0.01210\n",
      "batch 004 / 008 | 0.01205\n",
      "batch 005 / 008 | 0.01197\n",
      "batch 006 / 008 | 0.01212\n",
      "batch 007 / 008 | 0.01217\n",
      "batch 008 / 008 | 0.01215\n",
      "val loss 057 | 0.01540\n",
      "batch 001 / 008 | 0.01214\n",
      "batch 002 / 008 | 0.01131\n",
      "batch 003 / 008 | 0.01170\n",
      "batch 004 / 008 | 0.01163\n",
      "batch 005 / 008 | 0.01192\n",
      "batch 006 / 008 | 0.01183\n",
      "batch 007 / 008 | 0.01194\n",
      "batch 008 / 008 | 0.01204\n",
      "val loss 058 | 0.01532\n",
      "batch 001 / 008 | 0.01031\n",
      "batch 002 / 008 | 0.01119\n",
      "batch 003 / 008 | 0.01101\n",
      "batch 004 / 008 | 0.01157\n",
      "batch 005 / 008 | 0.01143\n",
      "batch 006 / 008 | 0.01145\n",
      "batch 007 / 008 | 0.01178\n",
      "batch 008 / 008 | 0.01199\n",
      "val loss 059 | 0.01587\n",
      "batch 001 / 008 | 0.01015\n",
      "batch 002 / 008 | 0.01114\n",
      "batch 003 / 008 | 0.01133\n",
      "batch 004 / 008 | 0.01160\n",
      "batch 005 / 008 | 0.01140\n",
      "batch 006 / 008 | 0.01177\n",
      "batch 007 / 008 | 0.01183\n",
      "batch 008 / 008 | 0.01209\n",
      "val loss 060 | 0.01523\n",
      "batch 001 / 008 | 0.01143\n",
      "batch 002 / 008 | 0.01148\n",
      "batch 003 / 008 | 0.01133\n",
      "batch 004 / 008 | 0.01150\n",
      "batch 005 / 008 | 0.01170\n",
      "batch 006 / 008 | 0.01168\n",
      "batch 007 / 008 | 0.01171\n",
      "batch 008 / 008 | 0.01175\n",
      "val loss 061 | 0.01490\n",
      "batch 001 / 008 | 0.01053\n",
      "batch 002 / 008 | 0.01050\n",
      "batch 003 / 008 | 0.01106\n",
      "batch 004 / 008 | 0.01108\n",
      "batch 005 / 008 | 0.01121\n",
      "batch 006 / 008 | 0.01148\n",
      "batch 007 / 008 | 0.01159\n",
      "batch 008 / 008 | 0.01175\n",
      "val loss 062 | 0.01512\n",
      "batch 001 / 008 | 0.01105\n",
      "batch 002 / 008 | 0.01131\n",
      "batch 003 / 008 | 0.01149\n",
      "batch 004 / 008 | 0.01137\n",
      "batch 005 / 008 | 0.01161\n",
      "batch 006 / 008 | 0.01173\n",
      "batch 007 / 008 | 0.01176\n",
      "batch 008 / 008 | 0.01182\n",
      "val loss 063 | 0.01572\n",
      "batch 001 / 008 | 0.01128\n",
      "batch 002 / 008 | 0.01155\n",
      "batch 003 / 008 | 0.01130\n",
      "batch 004 / 008 | 0.01119\n",
      "batch 005 / 008 | 0.01114\n",
      "batch 006 / 008 | 0.01135\n",
      "batch 007 / 008 | 0.01162\n",
      "batch 008 / 008 | 0.01181\n",
      "val loss 064 | 0.01532\n",
      "batch 001 / 008 | 0.01099\n",
      "batch 002 / 008 | 0.01128\n",
      "batch 003 / 008 | 0.01140\n",
      "batch 004 / 008 | 0.01137\n",
      "batch 005 / 008 | 0.01144\n",
      "batch 006 / 008 | 0.01157\n",
      "batch 007 / 008 | 0.01169\n",
      "batch 008 / 008 | 0.01196\n",
      "val loss 065 | 0.01571\n",
      "batch 001 / 008 | 0.01064\n",
      "batch 002 / 008 | 0.01107\n",
      "batch 003 / 008 | 0.01124\n",
      "batch 004 / 008 | 0.01145\n",
      "batch 005 / 008 | 0.01162\n",
      "batch 006 / 008 | 0.01164\n",
      "batch 007 / 008 | 0.01205\n",
      "batch 008 / 008 | 0.01199\n",
      "val loss 066 | 0.01541\n",
      "batch 001 / 008 | 0.01125\n",
      "batch 002 / 008 | 0.01197\n",
      "batch 003 / 008 | 0.01182\n",
      "batch 004 / 008 | 0.01157\n",
      "batch 005 / 008 | 0.01145\n",
      "batch 006 / 008 | 0.01174\n",
      "batch 007 / 008 | 0.01199\n",
      "batch 008 / 008 | 0.01220\n",
      "val loss 067 | 0.01524\n",
      "batch 001 / 008 | 0.01067\n",
      "batch 002 / 008 | 0.01088\n",
      "batch 003 / 008 | 0.01130\n",
      "batch 004 / 008 | 0.01122\n",
      "batch 005 / 008 | 0.01123\n",
      "batch 006 / 008 | 0.01125\n",
      "batch 007 / 008 | 0.01165\n",
      "batch 008 / 008 | 0.01190\n",
      "val loss 068 | 0.01496\n",
      "batch 001 / 008 | 0.01015\n",
      "batch 002 / 008 | 0.01101\n",
      "batch 003 / 008 | 0.01129\n",
      "batch 004 / 008 | 0.01144\n",
      "batch 005 / 008 | 0.01134\n",
      "batch 006 / 008 | 0.01164\n",
      "batch 007 / 008 | 0.01164\n",
      "batch 008 / 008 | 0.01181\n",
      "val loss 069 | 0.01488\n",
      "batch 001 / 008 | 0.00998\n",
      "batch 002 / 008 | 0.01020\n",
      "batch 003 / 008 | 0.01073\n",
      "batch 004 / 008 | 0.01077\n",
      "batch 005 / 008 | 0.01098\n",
      "batch 006 / 008 | 0.01117\n",
      "batch 007 / 008 | 0.01136\n",
      "batch 008 / 008 | 0.01166\n",
      "val loss 070 | 0.01542\n",
      "batch 001 / 008 | 0.01176\n",
      "batch 002 / 008 | 0.01120\n",
      "batch 003 / 008 | 0.01137\n",
      "batch 004 / 008 | 0.01164\n",
      "batch 005 / 008 | 0.01172\n",
      "batch 006 / 008 | 0.01180\n",
      "batch 007 / 008 | 0.01193\n",
      "batch 008 / 008 | 0.01195\n",
      "val loss 071 | 0.01517\n",
      "batch 001 / 008 | 0.01218\n",
      "batch 002 / 008 | 0.01168\n",
      "batch 003 / 008 | 0.01127\n",
      "batch 004 / 008 | 0.01137\n",
      "batch 005 / 008 | 0.01127\n",
      "batch 006 / 008 | 0.01157\n",
      "batch 007 / 008 | 0.01176\n",
      "batch 008 / 008 | 0.01191\n",
      "val loss 072 | 0.01515\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "batch 001 / 008 | 0.01136\n",
      "batch 002 / 008 | 0.01150\n",
      "batch 003 / 008 | 0.01128\n",
      "batch 004 / 008 | 0.01113\n",
      "batch 005 / 008 | 0.01110\n",
      "batch 006 / 008 | 0.01136\n",
      "batch 007 / 008 | 0.01151\n",
      "batch 008 / 008 | 0.01146\n",
      "val loss 073 | 0.01481\n",
      "batch 001 / 008 | 0.01075\n",
      "batch 002 / 008 | 0.01100\n",
      "batch 003 / 008 | 0.01124\n",
      "batch 004 / 008 | 0.01103\n",
      "batch 005 / 008 | 0.01097\n",
      "batch 006 / 008 | 0.01101\n",
      "batch 007 / 008 | 0.01119\n",
      "batch 008 / 008 | 0.01138\n",
      "val loss 074 | 0.01502\n",
      "batch 001 / 008 | 0.01020\n",
      "batch 002 / 008 | 0.00974\n",
      "batch 003 / 008 | 0.01030\n",
      "batch 004 / 008 | 0.01066\n",
      "batch 005 / 008 | 0.01078\n",
      "batch 006 / 008 | 0.01117\n",
      "batch 007 / 008 | 0.01145\n",
      "batch 008 / 008 | 0.01156\n",
      "val loss 075 | 0.01476\n",
      "batch 001 / 008 | 0.01017\n",
      "batch 002 / 008 | 0.01035\n",
      "batch 003 / 008 | 0.01075\n",
      "batch 004 / 008 | 0.01082\n",
      "batch 005 / 008 | 0.01095\n",
      "batch 006 / 008 | 0.01124\n",
      "batch 007 / 008 | 0.01144\n",
      "batch 008 / 008 | 0.01145\n",
      "val loss 076 | 0.01475\n",
      "batch 001 / 008 | 0.01047\n",
      "batch 002 / 008 | 0.01072\n",
      "batch 003 / 008 | 0.01096\n",
      "batch 004 / 008 | 0.01115\n",
      "batch 005 / 008 | 0.01113\n",
      "batch 006 / 008 | 0.01125\n",
      "batch 007 / 008 | 0.01129\n",
      "batch 008 / 008 | 0.01139\n",
      "val loss 077 | 0.01494\n",
      "batch 001 / 008 | 0.01033\n",
      "batch 002 / 008 | 0.01107\n",
      "batch 003 / 008 | 0.01123\n",
      "batch 004 / 008 | 0.01127\n",
      "batch 005 / 008 | 0.01121\n",
      "batch 006 / 008 | 0.01121\n",
      "batch 007 / 008 | 0.01126\n",
      "batch 008 / 008 | 0.01135\n",
      "val loss 078 | 0.01507\n",
      "batch 001 / 008 | 0.01121\n",
      "batch 002 / 008 | 0.01050\n",
      "batch 003 / 008 | 0.01059\n",
      "batch 004 / 008 | 0.01100\n",
      "batch 005 / 008 | 0.01128\n",
      "batch 006 / 008 | 0.01136\n",
      "batch 007 / 008 | 0.01141\n",
      "batch 008 / 008 | 0.01143\n",
      "val loss 079 | 0.01443\n",
      "batch 001 / 008 | 0.01006\n",
      "batch 002 / 008 | 0.01048\n",
      "batch 003 / 008 | 0.01056\n",
      "batch 004 / 008 | 0.01068\n",
      "batch 005 / 008 | 0.01068\n",
      "batch 006 / 008 | 0.01110\n",
      "batch 007 / 008 | 0.01121\n",
      "batch 008 / 008 | 0.01130\n",
      "val loss 080 | 0.01465\n",
      "batch 001 / 008 | 0.01148\n",
      "batch 002 / 008 | 0.01141\n",
      "batch 003 / 008 | 0.01112\n",
      "batch 004 / 008 | 0.01136\n",
      "batch 005 / 008 | 0.01121\n",
      "batch 006 / 008 | 0.01117\n",
      "batch 007 / 008 | 0.01111\n",
      "batch 008 / 008 | 0.01133\n",
      "val loss 081 | 0.01493\n",
      "batch 001 / 008 | 0.01064\n",
      "batch 002 / 008 | 0.01088\n",
      "batch 003 / 008 | 0.01106\n",
      "batch 004 / 008 | 0.01126\n",
      "batch 005 / 008 | 0.01138\n",
      "batch 006 / 008 | 0.01145\n",
      "batch 007 / 008 | 0.01157\n",
      "batch 008 / 008 | 0.01152\n",
      "val loss 082 | 0.01469\n",
      "batch 001 / 008 | 0.01191\n",
      "batch 002 / 008 | 0.01120\n",
      "batch 003 / 008 | 0.01098\n",
      "batch 004 / 008 | 0.01119\n",
      "batch 005 / 008 | 0.01126\n",
      "batch 006 / 008 | 0.01136\n",
      "batch 007 / 008 | 0.01129\n",
      "batch 008 / 008 | 0.01147\n",
      "val loss 083 | 0.01509\n",
      "batch 001 / 008 | 0.01064\n",
      "batch 002 / 008 | 0.01098\n",
      "batch 003 / 008 | 0.01115\n",
      "batch 004 / 008 | 0.01139\n",
      "batch 005 / 008 | 0.01150\n",
      "batch 006 / 008 | 0.01136\n",
      "batch 007 / 008 | 0.01145\n",
      "batch 008 / 008 | 0.01145\n",
      "val loss 084 | 0.01497\n",
      "batch 001 / 008 | 0.01061\n",
      "batch 002 / 008 | 0.01133\n",
      "batch 003 / 008 | 0.01158\n",
      "batch 004 / 008 | 0.01116\n",
      "batch 005 / 008 | 0.01111\n",
      "batch 006 / 008 | 0.01118\n",
      "batch 007 / 008 | 0.01146\n",
      "batch 008 / 008 | 0.01147\n",
      "val loss 085 | 0.01471\n",
      "batch 001 / 008 | 0.01046\n",
      "batch 002 / 008 | 0.01058\n",
      "batch 003 / 008 | 0.01099\n",
      "batch 004 / 008 | 0.01092\n",
      "batch 005 / 008 | 0.01113\n",
      "batch 006 / 008 | 0.01127\n",
      "batch 007 / 008 | 0.01127\n",
      "batch 008 / 008 | 0.01148\n",
      "val loss 086 | 0.01462\n",
      "batch 001 / 008 | 0.01222\n",
      "batch 002 / 008 | 0.01118\n",
      "batch 003 / 008 | 0.01140\n",
      "batch 004 / 008 | 0.01162\n",
      "batch 005 / 008 | 0.01170\n",
      "batch 006 / 008 | 0.01147\n",
      "batch 007 / 008 | 0.01143\n",
      "batch 008 / 008 | 0.01134\n",
      "val loss 087 | 0.01490\n",
      "batch 001 / 008 | 0.00970\n",
      "batch 002 / 008 | 0.00995\n",
      "batch 003 / 008 | 0.01020\n",
      "batch 004 / 008 | 0.01042\n",
      "batch 005 / 008 | 0.01063\n",
      "batch 006 / 008 | 0.01081\n",
      "batch 007 / 008 | 0.01132\n",
      "batch 008 / 008 | 0.01147\n",
      "val loss 088 | 0.01470\n",
      "batch 001 / 008 | 0.01084\n",
      "batch 002 / 008 | 0.01090\n",
      "batch 003 / 008 | 0.01109\n",
      "batch 004 / 008 | 0.01136\n",
      "batch 005 / 008 | 0.01115\n",
      "batch 006 / 008 | 0.01113\n",
      "batch 007 / 008 | 0.01155\n",
      "batch 008 / 008 | 0.01156\n",
      "val loss 089 | 0.01462\n",
      "batch 001 / 008 | 0.01075\n",
      "batch 002 / 008 | 0.01150\n",
      "batch 003 / 008 | 0.01158\n",
      "batch 004 / 008 | 0.01122\n",
      "batch 005 / 008 | 0.01140\n",
      "batch 006 / 008 | 0.01161\n",
      "batch 007 / 008 | 0.01146\n",
      "batch 008 / 008 | 0.01145\n",
      "val loss 090 | 0.01439\n",
      "batch 001 / 008 | 0.01025\n",
      "batch 002 / 008 | 0.01060\n",
      "batch 003 / 008 | 0.01036\n",
      "batch 004 / 008 | 0.01067\n",
      "batch 005 / 008 | 0.01072\n",
      "batch 006 / 008 | 0.01071\n",
      "batch 007 / 008 | 0.01098\n",
      "batch 008 / 008 | 0.01132\n",
      "val loss 091 | 0.01455\n",
      "batch 001 / 008 | 0.00939\n",
      "batch 002 / 008 | 0.00970\n",
      "batch 003 / 008 | 0.00979\n",
      "batch 004 / 008 | 0.01007\n",
      "batch 005 / 008 | 0.01043\n",
      "batch 006 / 008 | 0.01065\n",
      "batch 007 / 008 | 0.01084\n",
      "batch 008 / 008 | 0.01098\n",
      "val loss 092 | 0.01478\n",
      "batch 001 / 008 | 0.01116\n",
      "batch 002 / 008 | 0.01092\n",
      "batch 003 / 008 | 0.01118\n",
      "batch 004 / 008 | 0.01123\n",
      "batch 005 / 008 | 0.01119\n",
      "batch 006 / 008 | 0.01128\n",
      "batch 007 / 008 | 0.01129\n",
      "batch 008 / 008 | 0.01146\n",
      "val loss 093 | 0.01512\n",
      "batch 001 / 008 | 0.01096\n",
      "batch 002 / 008 | 0.01061\n",
      "batch 003 / 008 | 0.01123\n",
      "batch 004 / 008 | 0.01137\n",
      "batch 005 / 008 | 0.01137\n",
      "batch 006 / 008 | 0.01140\n",
      "batch 007 / 008 | 0.01141\n",
      "batch 008 / 008 | 0.01144\n",
      "val loss 094 | 0.01522\n",
      "batch 001 / 008 | 0.01059\n",
      "batch 002 / 008 | 0.01096\n",
      "batch 003 / 008 | 0.01105\n",
      "batch 004 / 008 | 0.01111\n",
      "batch 005 / 008 | 0.01119\n",
      "batch 006 / 008 | 0.01113\n",
      "batch 007 / 008 | 0.01153\n",
      "batch 008 / 008 | 0.01170\n",
      "val loss 095 | 0.01518\n",
      "batch 001 / 008 | 0.01185\n",
      "batch 002 / 008 | 0.01071\n",
      "batch 003 / 008 | 0.01087\n",
      "batch 004 / 008 | 0.01086\n",
      "batch 005 / 008 | 0.01087\n",
      "batch 006 / 008 | 0.01123\n",
      "batch 007 / 008 | 0.01127\n",
      "batch 008 / 008 | 0.01153\n",
      "val loss 096 | 0.01490\n",
      "batch 001 / 008 | 0.01063\n",
      "batch 002 / 008 | 0.01085\n",
      "batch 003 / 008 | 0.01098\n",
      "batch 004 / 008 | 0.01093\n",
      "batch 005 / 008 | 0.01123\n",
      "batch 006 / 008 | 0.01123\n",
      "batch 007 / 008 | 0.01138\n",
      "batch 008 / 008 | 0.01141\n",
      "val loss 097 | 0.01539\n",
      "batch 001 / 008 | 0.01063\n",
      "batch 002 / 008 | 0.01088\n",
      "batch 003 / 008 | 0.01101\n",
      "batch 004 / 008 | 0.01100\n",
      "batch 005 / 008 | 0.01122\n",
      "batch 006 / 008 | 0.01147\n",
      "batch 007 / 008 | 0.01175\n",
      "batch 008 / 008 | 0.01194\n",
      "val loss 098 | 0.01470\n",
      "batch 001 / 008 | 0.00962\n",
      "batch 002 / 008 | 0.01015\n",
      "batch 003 / 008 | 0.01067\n",
      "batch 004 / 008 | 0.01081\n",
      "batch 005 / 008 | 0.01118\n",
      "batch 006 / 008 | 0.01143\n",
      "batch 007 / 008 | 0.01160\n",
      "batch 008 / 008 | 0.01174\n",
      "val loss 099 | 0.01539\n",
      "batch 001 / 008 | 0.01086\n",
      "batch 002 / 008 | 0.01085\n",
      "batch 003 / 008 | 0.01100\n",
      "batch 004 / 008 | 0.01122\n",
      "batch 005 / 008 | 0.01137\n",
      "batch 006 / 008 | 0.01142\n",
      "batch 007 / 008 | 0.01135\n",
      "batch 008 / 008 | 0.01175\n",
      "val loss 100 | 0.01539\n",
      "batch 001 / 008 | 0.01245\n",
      "batch 002 / 008 | 0.01188\n",
      "batch 003 / 008 | 0.01162\n",
      "batch 004 / 008 | 0.01160\n",
      "batch 005 / 008 | 0.01130\n",
      "batch 006 / 008 | 0.01123\n",
      "batch 007 / 008 | 0.01141\n",
      "batch 008 / 008 | 0.01153\n",
      "val loss 101 | 0.01469\n",
      "batch 001 / 008 | 0.01069\n",
      "batch 002 / 008 | 0.01023\n",
      "batch 003 / 008 | 0.01043\n",
      "batch 004 / 008 | 0.01063\n",
      "batch 005 / 008 | 0.01100\n",
      "batch 006 / 008 | 0.01131\n",
      "batch 007 / 008 | 0.01136\n",
      "batch 008 / 008 | 0.01139\n",
      "val loss 102 | 0.01485\n",
      "batch 001 / 008 | 0.00994\n",
      "batch 002 / 008 | 0.01045\n",
      "batch 003 / 008 | 0.01058\n",
      "batch 004 / 008 | 0.01101\n",
      "batch 005 / 008 | 0.01099\n",
      "batch 006 / 008 | 0.01098\n",
      "batch 007 / 008 | 0.01112\n",
      "batch 008 / 008 | 0.01129\n",
      "val loss 103 | 0.01430\n",
      "batch 001 / 008 | 0.01134\n",
      "batch 002 / 008 | 0.01112\n",
      "batch 003 / 008 | 0.01125\n",
      "batch 004 / 008 | 0.01117\n",
      "batch 005 / 008 | 0.01115\n",
      "batch 006 / 008 | 0.01109\n",
      "batch 007 / 008 | 0.01110\n",
      "batch 008 / 008 | 0.01106\n",
      "val loss 104 | 0.01457\n",
      "batch 001 / 008 | 0.01115\n",
      "batch 002 / 008 | 0.01097\n",
      "batch 003 / 008 | 0.01133\n",
      "batch 004 / 008 | 0.01117\n",
      "batch 005 / 008 | 0.01123\n",
      "batch 006 / 008 | 0.01146\n",
      "batch 007 / 008 | 0.01148\n",
      "batch 008 / 008 | 0.01168\n",
      "val loss 105 | 0.01489\n",
      "batch 001 / 008 | 0.01100\n",
      "batch 002 / 008 | 0.01056\n",
      "batch 003 / 008 | 0.01076\n",
      "batch 004 / 008 | 0.01083\n",
      "batch 005 / 008 | 0.01094\n",
      "batch 006 / 008 | 0.01138\n",
      "batch 007 / 008 | 0.01151\n",
      "batch 008 / 008 | 0.01156\n",
      "val loss 106 | 0.01486\n",
      "batch 001 / 008 | 0.01075\n",
      "batch 002 / 008 | 0.01093\n",
      "batch 003 / 008 | 0.01114\n",
      "batch 004 / 008 | 0.01109\n",
      "batch 005 / 008 | 0.01104\n",
      "batch 006 / 008 | 0.01127\n",
      "batch 007 / 008 | 0.01146\n",
      "batch 008 / 008 | 0.01148\n",
      "val loss 107 | 0.01451\n",
      "batch 001 / 008 | 0.01163\n",
      "batch 002 / 008 | 0.01089\n",
      "batch 003 / 008 | 0.01089\n",
      "batch 004 / 008 | 0.01110\n",
      "batch 005 / 008 | 0.01106\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "batch 006 / 008 | 0.01110\n",
      "batch 007 / 008 | 0.01129\n",
      "batch 008 / 008 | 0.01136\n",
      "val loss 108 | 0.01440\n",
      "batch 001 / 008 | 0.01061\n",
      "batch 002 / 008 | 0.01012\n",
      "batch 003 / 008 | 0.01056\n",
      "batch 004 / 008 | 0.01081\n",
      "batch 005 / 008 | 0.01113\n",
      "batch 006 / 008 | 0.01116\n",
      "batch 007 / 008 | 0.01122\n",
      "batch 008 / 008 | 0.01125\n",
      "val loss 109 | 0.01419\n",
      "batch 001 / 008 | 0.00972\n",
      "batch 002 / 008 | 0.01037\n",
      "batch 003 / 008 | 0.01043\n",
      "batch 004 / 008 | 0.01042\n",
      "batch 005 / 008 | 0.01077\n",
      "batch 006 / 008 | 0.01089\n",
      "batch 007 / 008 | 0.01102\n",
      "batch 008 / 008 | 0.01104\n",
      "val loss 110 | 0.01423\n",
      "batch 001 / 008 | 0.01052\n",
      "batch 002 / 008 | 0.01062\n",
      "batch 003 / 008 | 0.01064\n",
      "batch 004 / 008 | 0.01050\n",
      "batch 005 / 008 | 0.01065\n",
      "batch 006 / 008 | 0.01105\n",
      "batch 007 / 008 | 0.01101\n",
      "batch 008 / 008 | 0.01103\n",
      "val loss 111 | 0.01405\n",
      "batch 001 / 008 | 0.01132\n",
      "batch 002 / 008 | 0.01063\n",
      "batch 003 / 008 | 0.01045\n",
      "batch 004 / 008 | 0.01063\n",
      "batch 005 / 008 | 0.01081\n",
      "batch 006 / 008 | 0.01103\n",
      "batch 007 / 008 | 0.01111\n",
      "batch 008 / 008 | 0.01108\n",
      "val loss 112 | 0.01412\n",
      "batch 001 / 008 | 0.01089\n",
      "batch 002 / 008 | 0.01061\n",
      "batch 003 / 008 | 0.01114\n",
      "batch 004 / 008 | 0.01072\n",
      "batch 005 / 008 | 0.01098\n",
      "batch 006 / 008 | 0.01098\n",
      "batch 007 / 008 | 0.01101\n",
      "batch 008 / 008 | 0.01101\n",
      "val loss 113 | 0.01443\n",
      "batch 001 / 008 | 0.00945\n",
      "batch 002 / 008 | 0.01020\n",
      "batch 003 / 008 | 0.01049\n",
      "batch 004 / 008 | 0.01059\n",
      "batch 005 / 008 | 0.01089\n",
      "batch 006 / 008 | 0.01091\n",
      "batch 007 / 008 | 0.01093\n",
      "batch 008 / 008 | 0.01109\n",
      "val loss 114 | 0.01437\n",
      "batch 001 / 008 | 0.00978\n",
      "batch 002 / 008 | 0.00989\n",
      "batch 003 / 008 | 0.01033\n",
      "batch 004 / 008 | 0.01071\n",
      "batch 005 / 008 | 0.01079\n",
      "batch 006 / 008 | 0.01102\n",
      "batch 007 / 008 | 0.01107\n",
      "batch 008 / 008 | 0.01103\n",
      "val loss 115 | 0.01441\n",
      "batch 001 / 008 | 0.00920\n",
      "batch 002 / 008 | 0.00992\n",
      "batch 003 / 008 | 0.01020\n",
      "batch 004 / 008 | 0.01046\n",
      "batch 005 / 008 | 0.01043\n",
      "batch 006 / 008 | 0.01077\n",
      "batch 007 / 008 | 0.01082\n",
      "batch 008 / 008 | 0.01097\n",
      "val loss 116 | 0.01431\n",
      "batch 001 / 008 | 0.01212\n",
      "batch 002 / 008 | 0.01165\n",
      "batch 003 / 008 | 0.01162\n",
      "batch 004 / 008 | 0.01135\n",
      "batch 005 / 008 | 0.01127\n",
      "batch 006 / 008 | 0.01117\n",
      "batch 007 / 008 | 0.01104\n",
      "batch 008 / 008 | 0.01103\n",
      "val loss 117 | 0.01388\n",
      "batch 001 / 008 | 0.01055\n",
      "batch 002 / 008 | 0.01078\n",
      "batch 003 / 008 | 0.01064\n",
      "batch 004 / 008 | 0.01062\n",
      "batch 005 / 008 | 0.01058\n",
      "batch 006 / 008 | 0.01057\n",
      "batch 007 / 008 | 0.01083\n",
      "batch 008 / 008 | 0.01094\n",
      "val loss 118 | 0.01434\n",
      "batch 001 / 008 | 0.00982\n",
      "batch 002 / 008 | 0.00982\n",
      "batch 003 / 008 | 0.01015\n",
      "batch 004 / 008 | 0.01030\n",
      "batch 005 / 008 | 0.01042\n",
      "batch 006 / 008 | 0.01052\n",
      "batch 007 / 008 | 0.01085\n",
      "batch 008 / 008 | 0.01096\n",
      "val loss 119 | 0.01391\n",
      "batch 001 / 008 | 0.01091\n",
      "batch 002 / 008 | 0.01036\n",
      "batch 003 / 008 | 0.01060\n",
      "batch 004 / 008 | 0.01072\n",
      "batch 005 / 008 | 0.01097\n",
      "batch 006 / 008 | 0.01095\n",
      "batch 007 / 008 | 0.01097\n",
      "batch 008 / 008 | 0.01096\n",
      "val loss 120 | 0.01452\n",
      "batch 001 / 008 | 0.01050\n",
      "batch 002 / 008 | 0.01023\n",
      "batch 003 / 008 | 0.01009\n",
      "batch 004 / 008 | 0.01056\n",
      "batch 005 / 008 | 0.01070\n",
      "batch 006 / 008 | 0.01097\n",
      "batch 007 / 008 | 0.01106\n",
      "batch 008 / 008 | 0.01107\n",
      "val loss 121 | 0.01430\n",
      "batch 001 / 008 | 0.01049\n",
      "batch 002 / 008 | 0.01108\n",
      "batch 003 / 008 | 0.01042\n",
      "batch 004 / 008 | 0.01057\n",
      "batch 005 / 008 | 0.01085\n",
      "batch 006 / 008 | 0.01089\n",
      "batch 007 / 008 | 0.01088\n",
      "batch 008 / 008 | 0.01095\n",
      "val loss 122 | 0.01371\n",
      "batch 001 / 008 | 0.00987\n",
      "batch 002 / 008 | 0.01022\n",
      "batch 003 / 008 | 0.01008\n",
      "batch 004 / 008 | 0.00999\n",
      "batch 005 / 008 | 0.01027\n",
      "batch 006 / 008 | 0.01056\n",
      "batch 007 / 008 | 0.01074\n",
      "batch 008 / 008 | 0.01082\n",
      "val loss 123 | 0.01392\n",
      "batch 001 / 008 | 0.00937\n",
      "batch 002 / 008 | 0.01036\n",
      "batch 003 / 008 | 0.01021\n",
      "batch 004 / 008 | 0.01033\n",
      "batch 005 / 008 | 0.01068\n",
      "batch 006 / 008 | 0.01063\n",
      "batch 007 / 008 | 0.01077\n",
      "batch 008 / 008 | 0.01083\n",
      "val loss 124 | 0.01414\n",
      "batch 001 / 008 | 0.01035\n",
      "batch 002 / 008 | 0.01028\n",
      "batch 003 / 008 | 0.01035\n",
      "batch 004 / 008 | 0.01029\n",
      "batch 005 / 008 | 0.01069\n",
      "batch 006 / 008 | 0.01090\n",
      "batch 007 / 008 | 0.01083\n",
      "batch 008 / 008 | 0.01079\n",
      "val loss 125 | 0.01406\n",
      "batch 001 / 008 | 0.01071\n",
      "batch 002 / 008 | 0.01082\n",
      "batch 003 / 008 | 0.01053\n",
      "batch 004 / 008 | 0.01038\n",
      "batch 005 / 008 | 0.01014\n",
      "batch 006 / 008 | 0.01031\n",
      "batch 007 / 008 | 0.01062\n",
      "batch 008 / 008 | 0.01066\n",
      "val loss 126 | 0.01387\n",
      "batch 001 / 008 | 0.01085\n",
      "batch 002 / 008 | 0.01067\n",
      "batch 003 / 008 | 0.01089\n",
      "batch 004 / 008 | 0.01072\n",
      "batch 005 / 008 | 0.01071\n",
      "batch 006 / 008 | 0.01077\n",
      "batch 007 / 008 | 0.01065\n",
      "batch 008 / 008 | 0.01069\n",
      "val loss 127 | 0.01382\n",
      "batch 001 / 008 | 0.01006\n",
      "batch 002 / 008 | 0.00994\n",
      "batch 003 / 008 | 0.01003\n",
      "batch 004 / 008 | 0.01022\n",
      "batch 005 / 008 | 0.01030\n",
      "batch 006 / 008 | 0.01044\n",
      "batch 007 / 008 | 0.01046\n",
      "batch 008 / 008 | 0.01053\n",
      "val loss 128 | 0.01362\n",
      "batch 001 / 008 | 0.01253\n",
      "batch 002 / 008 | 0.01114\n",
      "batch 003 / 008 | 0.01073\n",
      "batch 004 / 008 | 0.01044\n",
      "batch 005 / 008 | 0.01034\n",
      "batch 006 / 008 | 0.01047\n",
      "batch 007 / 008 | 0.01057\n",
      "batch 008 / 008 | 0.01053\n",
      "val loss 129 | 0.01362\n",
      "batch 001 / 008 | 0.01015\n",
      "batch 002 / 008 | 0.00996\n",
      "batch 003 / 008 | 0.01005\n",
      "batch 004 / 008 | 0.01011\n",
      "batch 005 / 008 | 0.01002\n",
      "batch 006 / 008 | 0.01027\n",
      "batch 007 / 008 | 0.01049\n",
      "batch 008 / 008 | 0.01042\n",
      "val loss 130 | 0.01387\n",
      "batch 001 / 008 | 0.00935\n",
      "batch 002 / 008 | 0.00991\n",
      "batch 003 / 008 | 0.00966\n",
      "batch 004 / 008 | 0.00988\n",
      "batch 005 / 008 | 0.01004\n",
      "batch 006 / 008 | 0.01022\n",
      "batch 007 / 008 | 0.01055\n",
      "batch 008 / 008 | 0.01052\n",
      "val loss 131 | 0.01361\n",
      "batch 001 / 008 | 0.00967\n",
      "batch 002 / 008 | 0.00966\n",
      "batch 003 / 008 | 0.00977\n",
      "batch 004 / 008 | 0.01001\n",
      "batch 005 / 008 | 0.01026\n",
      "batch 006 / 008 | 0.01034\n",
      "batch 007 / 008 | 0.01051\n",
      "batch 008 / 008 | 0.01056\n",
      "val loss 132 | 0.01370\n",
      "batch 001 / 008 | 0.00934\n",
      "batch 002 / 008 | 0.00932\n",
      "batch 003 / 008 | 0.00985\n",
      "batch 004 / 008 | 0.01030\n",
      "batch 005 / 008 | 0.01016\n",
      "batch 006 / 008 | 0.01022\n",
      "batch 007 / 008 | 0.01043\n",
      "batch 008 / 008 | 0.01057\n",
      "val loss 133 | 0.01358\n",
      "batch 001 / 008 | 0.00946\n",
      "batch 002 / 008 | 0.00975\n",
      "batch 003 / 008 | 0.01004\n",
      "batch 004 / 008 | 0.01023\n",
      "batch 005 / 008 | 0.01036\n",
      "batch 006 / 008 | 0.01031\n",
      "batch 007 / 008 | 0.01049\n",
      "batch 008 / 008 | 0.01064\n",
      "val loss 134 | 0.01411\n",
      "batch 001 / 008 | 0.01112\n",
      "batch 002 / 008 | 0.01123\n",
      "batch 003 / 008 | 0.01130\n",
      "batch 004 / 008 | 0.01107\n",
      "batch 005 / 008 | 0.01107\n",
      "batch 006 / 008 | 0.01090\n",
      "batch 007 / 008 | 0.01088\n",
      "batch 008 / 008 | 0.01073\n",
      "val loss 135 | 0.01380\n",
      "batch 001 / 008 | 0.00942\n",
      "batch 002 / 008 | 0.01005\n",
      "batch 003 / 008 | 0.01002\n",
      "batch 004 / 008 | 0.01038\n",
      "batch 005 / 008 | 0.01058\n",
      "batch 006 / 008 | 0.01034\n",
      "batch 007 / 008 | 0.01043\n",
      "batch 008 / 008 | 0.01075\n",
      "val loss 136 | 0.01389\n",
      "batch 001 / 008 | 0.00983\n",
      "batch 002 / 008 | 0.01019\n",
      "batch 003 / 008 | 0.00996\n",
      "batch 004 / 008 | 0.01033\n",
      "batch 005 / 008 | 0.01057\n",
      "batch 006 / 008 | 0.01070\n",
      "batch 007 / 008 | 0.01065\n",
      "batch 008 / 008 | 0.01066\n",
      "val loss 137 | 0.01384\n",
      "batch 001 / 008 | 0.00981\n",
      "batch 002 / 008 | 0.00949\n",
      "batch 003 / 008 | 0.01019\n",
      "batch 004 / 008 | 0.01040\n",
      "batch 005 / 008 | 0.01048\n",
      "batch 006 / 008 | 0.01057\n",
      "batch 007 / 008 | 0.01076\n",
      "batch 008 / 008 | 0.01068\n",
      "val loss 138 | 0.01373\n",
      "batch 001 / 008 | 0.00979\n",
      "batch 002 / 008 | 0.00957\n",
      "batch 003 / 008 | 0.01001\n",
      "batch 004 / 008 | 0.01017\n",
      "batch 005 / 008 | 0.01022\n",
      "batch 006 / 008 | 0.01053\n",
      "batch 007 / 008 | 0.01073\n",
      "batch 008 / 008 | 0.01070\n",
      "val loss 139 | 0.01338\n",
      "batch 001 / 008 | 0.00976\n",
      "batch 002 / 008 | 0.01004\n",
      "batch 003 / 008 | 0.01001\n",
      "batch 004 / 008 | 0.01012\n",
      "batch 005 / 008 | 0.01037\n",
      "batch 006 / 008 | 0.01046\n",
      "batch 007 / 008 | 0.01066\n",
      "batch 008 / 008 | 0.01050\n",
      "val loss 140 | 0.01347\n",
      "batch 001 / 008 | 0.01070\n",
      "batch 002 / 008 | 0.01019\n",
      "batch 003 / 008 | 0.01022\n",
      "batch 004 / 008 | 0.01013\n",
      "batch 005 / 008 | 0.01041\n",
      "batch 006 / 008 | 0.01043\n",
      "batch 007 / 008 | 0.01059\n",
      "batch 008 / 008 | 0.01048\n",
      "val loss 141 | 0.01358\n",
      "batch 001 / 008 | 0.01014\n",
      "batch 002 / 008 | 0.01010\n",
      "batch 003 / 008 | 0.00984\n",
      "batch 004 / 008 | 0.01013\n",
      "batch 005 / 008 | 0.01040\n",
      "batch 006 / 008 | 0.01051\n",
      "batch 007 / 008 | 0.01040\n",
      "batch 008 / 008 | 0.01048\n",
      "val loss 142 | 0.01330\n",
      "batch 001 / 008 | 0.01008\n",
      "batch 002 / 008 | 0.00978\n",
      "batch 003 / 008 | 0.00954\n",
      "batch 004 / 008 | 0.00992\n",
      "batch 005 / 008 | 0.00995\n",
      "batch 006 / 008 | 0.00995\n",
      "batch 007 / 008 | 0.01012\n",
      "batch 008 / 008 | 0.01030\n",
      "val loss 143 | 0.01305\n",
      "batch 001 / 008 | 0.00977\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "batch 002 / 008 | 0.00982\n",
      "batch 003 / 008 | 0.00994\n",
      "batch 004 / 008 | 0.00980\n",
      "batch 005 / 008 | 0.00971\n",
      "batch 006 / 008 | 0.00993\n",
      "batch 007 / 008 | 0.01024\n",
      "batch 008 / 008 | 0.01028\n",
      "val loss 144 | 0.01371\n",
      "batch 001 / 008 | 0.01017\n",
      "batch 002 / 008 | 0.01005\n",
      "batch 003 / 008 | 0.01001\n",
      "batch 004 / 008 | 0.01032\n",
      "batch 005 / 008 | 0.01016\n",
      "batch 006 / 008 | 0.01027\n",
      "batch 007 / 008 | 0.01046\n",
      "batch 008 / 008 | 0.01049\n",
      "val loss 145 | 0.01373\n",
      "batch 001 / 008 | 0.01025\n",
      "batch 002 / 008 | 0.01013\n",
      "batch 003 / 008 | 0.01020\n",
      "batch 004 / 008 | 0.01040\n",
      "batch 005 / 008 | 0.01009\n",
      "batch 006 / 008 | 0.01028\n",
      "batch 007 / 008 | 0.01044\n",
      "batch 008 / 008 | 0.01048\n",
      "val loss 146 | 0.01341\n",
      "batch 001 / 008 | 0.00992\n",
      "batch 002 / 008 | 0.00991\n",
      "batch 003 / 008 | 0.01001\n",
      "batch 004 / 008 | 0.01009\n",
      "batch 005 / 008 | 0.01026\n",
      "batch 006 / 008 | 0.01022\n",
      "batch 007 / 008 | 0.01029\n",
      "batch 008 / 008 | 0.01037\n",
      "val loss 147 | 0.01362\n",
      "batch 001 / 008 | 0.00984\n",
      "batch 002 / 008 | 0.00971\n",
      "batch 003 / 008 | 0.00974\n",
      "batch 004 / 008 | 0.01005\n",
      "batch 005 / 008 | 0.01033\n",
      "batch 006 / 008 | 0.01040\n",
      "batch 007 / 008 | 0.01052\n",
      "batch 008 / 008 | 0.01050\n",
      "val loss 148 | 0.01330\n",
      "batch 001 / 008 | 0.00919\n",
      "batch 002 / 008 | 0.00917\n",
      "batch 003 / 008 | 0.01012\n",
      "batch 004 / 008 | 0.01001\n",
      "batch 005 / 008 | 0.01018\n",
      "batch 006 / 008 | 0.01011\n",
      "batch 007 / 008 | 0.01036\n",
      "batch 008 / 008 | 0.01031\n",
      "val loss 149 | 0.01340\n",
      "batch 001 / 008 | 0.00917\n",
      "batch 002 / 008 | 0.00926\n",
      "batch 003 / 008 | 0.00967\n",
      "batch 004 / 008 | 0.01004\n",
      "batch 005 / 008 | 0.01019\n",
      "batch 006 / 008 | 0.01007\n",
      "batch 007 / 008 | 0.01032\n",
      "batch 008 / 008 | 0.01033\n",
      "val loss 150 | 0.01369\n",
      "batch 001 / 008 | 0.01059\n",
      "batch 002 / 008 | 0.01058\n",
      "batch 003 / 008 | 0.01015\n",
      "batch 004 / 008 | 0.01010\n",
      "batch 005 / 008 | 0.01048\n",
      "batch 006 / 008 | 0.01037\n",
      "batch 007 / 008 | 0.01073\n",
      "batch 008 / 008 | 0.01104\n",
      "\n"
     ]
    }
   ],
   "source": [
    "val_losses, train_losses =  fit(\n",
    "    loss_fn, params, X_train, Y_train, X_val, Y_val, lr=1e-2, batch_size=64,\n",
    "    epochs=150, verbose=True, print_every=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAO0AAADFCAYAAAC4snXUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOy9fYxk53Xm97vvfe9n3bp1u7qmpqanp6fZbDZHo9FwNByNKZqrlWha1sqCV7Edw3AMZxcJHO8C+fgj2QRBkGw2CAIbuwvDu1hgBWdjOIZjeBeKVzYEWWZkWaIpmh5RY2o0HDabzWazp6emurq6+tatW/f75o+3p0kbS1KSQciy5wCF+ehb1ffjPe855znPeUqr65r7dt/u2/ePie/1Cdy3+3bfvjO777T37b59n9l9p71v9+37zO477X27b99ndt9p79t9+z6z+0573+7b95nJ7+RgTdMC4OeBTeCFuq4335Ozum/37b69rX1HToty2M/UdT3WNO0Xgf/+nQ4O2o3aX+mxl7q4ZoGplVh1TqUJMnSmhUmWC+acBJ0KDSgRlGhIKmo0SjTSUicvddJMoGnQsHNAo6qhqjWqSiPLBQ2nwNdTiqMEwq4Lck1nVkmSQlJV4JgleSmYziQNp8CUJZZWUgM1GmFqkmWCTjNBUiLrihiTrNIxRElRC8LIxHUKbFmgARUaeSUwRIXUKspao6o1ZrnENQsaWkaGTlmra9MAjZoadVyS62gaaFqNKwt0rSKpJHkpyDKduUaCTUGFRobOJDWxjRJDlOjUx5+lUwEwyhzyQqMoBC0vwxMZOToAOhUGJbKqGNYNqhqaMkOjRgMKBBUaZf1mEuZoObJWn51rOkktKWuNutaoa8gKQTaTBK0ERxTqOASzwgBqhAa+nlCgM04thKgRWo0uaupao6g0hFajaTCZGurZWSV5IShzDcOq0EWNoVdoGkBNWQmqWqMoNISo0fWaqtIoSg0tkuR2hesUNI0MScWkNNX1azW6VhO9fofZ8FB7u7X7CU2rh++wtr8Ov1/X9Sfeaf2/V/adOu2H6rr+paO/r/yHDtA07edRzk2wdIK//6e/wqDy6IoIj4wESYGgQGdYusSVQUfG2FqBi1rcBbr6sxbElcHO1Gdn5DHYt/EaOU89tM1O7LM58Om2ZgCsv9Fi5fSE8/NDokI9oCXrkEHRYHMckBU6VQ22URIlBsOxzdXVuyxYE3bTJgCmKNmNPJJMcuXkHQQ1YWkxzmzi3GChMWGUOnzlxVOcf3DMytyYqtaIC4OtfZ9z3REr1gHD0iUsLLYPfXrNKYt2SFwZZJVOXBpIrcLWC+LCICklg4mLa+W0nQSpVVS1xnDmMJ5a9PcdPnlhixV9RL9uMsga3Bq0uXRqQE9GrM/mEVpNYCSYWgnAl7fO0N9z0G56PPAjd7jau0NRC4RWY2sFgTbDJed3BueoKo1P9dZJkES1RVJLkkoymDUoKkFRaVyd26VNTIXGdhVwY3QCqVcITRFzxrHF9h2Pqw8PWHRDXJETVwbDzD2+rxfMu0RYrCfzDGOHKDFYDCKkqMhKHVfmmKLkCy+eparg/ANj4kwSJ5LeXIzQakaRfezwHS+hqjW29pq0myldL2Z71GQcmezecTjRzljsTjl/Yh9X5Lww6AHg2RltO+H/e+Ln3nGhDzW4Zuhv+3MtKzvv6i3vkX2nTvtWC/5D/1nX9WeAzwDoDz9S35id5J+/+u/Y6p1gtznHbxWXsPWCy/YuH4leoTce86tLTzAoGrSloE2MV0dcLxdIKonUKrJSUJQanbmE3lzMY/XrfE4/z8svtVj72JjATBhPLYaHNk8PlzCNCqlX3NTniWaS0YHFY+8f4JspX/7WaTpzCVdX7/KYvY1Xpvz6N96HEDXLpyOeOL3DknbARtXh1nier39hkVMfOmC1d4igxtRLup0EKSqi3CTODcaxyfqmz0rnkF4dEgoLWy9YaoX0pw1u7Myz2jvENXKyUgcdilqQVTpVrdHzpyw6IWvs8dmD82zu+rRbKUUp8NyCrNIZ6S7P312gqsGzcxblId064p8+cxkhah57ZI+s0MkKQZLpRJHkB75m88cLbaSoWQpCpKgYVQ47+BSVYGfQIGhmBNWMW1qXGwcnCOyUqtbYHPgkqU6S6nTdmNg0CEuLjYM5rt2YZ/WBiLaX4Fk5C60pS3MThlOHFyYnWQwi2uaMC/bdo8gtGOHikfIp/SV+z30f2wOPtc4BgUxoixiPDEnJrYU2Va2xGhzQljN8VJbRp8mvv/I+ikIgRM3lD90lEAlFpbHQiFgxRsS5gdQrLpwZEeeScWxxc2+eohRs32kgBLhOwULHIK/e3iGVaaC/E+RTfpdu85e379Rp/1TTtKCu6zEwfreDXacgMBKeW32IxzZe4fJLmzz3xDKmVrIW32Xba/Nia5GoMAn0hKvJFgCZkEi9wpcpl+rbXPPPMJ5ajEKLrNDpxYcIo6a7a2LrBa6eMwotKpXBsXIqxJYl67sBrl2ysHrAgjvBFCXtIKW/5/Da11eJP2Gw4h3QnkspCkE4NbkVdhi5DgC2LGm+f4LfyKhqjUAmVGiEkYFpqF3/4tyAsGGx3fcwhXqQ48ImKSUdM6ZwBVWlca45xCNlXDtHhQBEuUlS6BSVwZqbc3nwOp8zz5GkOp3mjKIShLHJqrHPcr7PYL7BYNagf+hSoCPqGtsukbLGNdUmYWoln//mMs1tm/N/ZPDVT2sstCI8makIb7wZaT93e4nbaYNbS13Ww3k2d30++vAOtijYNptIvca1C9rGjECbUekaUWJw9tkm0cmEjl8T55Ks0IlTiWsVeHaOK3MAhnWDuFTp7iV9l1Cz+Xx5js1hiyTVuXFHBas4kVxZvsuKdcCN9Tlsu+SphS3Mo5JgjMMwdzm87WDM5XRPJKpMqSy295okuaQKNNZvt4imEv+hjKxQTlmUahMrb3pU56ZcXbkLwEuieufFKwDrHRx7lr/b8n/P7Dt12s8AP6Vp2gj4P97tYEsvcfWcDXmCj+Qv0dy4y+LfOkRQ4aczbrqnWM/Vg7O1gt7kkNB2KEx1s0ytpDcL8RsppqzIckFRCtwsRZoVMtewdVUrh6FUi9ct8a0MV+bYVknQSFlqhQQyAcC1CqJI8ugfNdh6tIlnZLT9lDiRRLHBaGpR1dB1Y1wjZ7E7xZQVRaVhUiK1iqJQTie0mkCbIWWF5xZIUVEgyEqdrNSRWoWr57TdhA5TvDpVmQM6GRKh1VS1coQKDT+OERYUhYZnqqicSElQz+jMIjp+TFwaJFnzuG533RLTrPDMjK4xxSNV9zMW+AMQ+lHqLNS5e1pGr5rQzqZYoSQYSoaZyzg2GR+q1N0VObZRUuhqYXsiU6WNZlBVGt5YJwWkqEhySZxKBiOb5VMRrqFq2qIWJJUkKkwqNNrVlMQ02BgGavPNBOHUIEl17t52WDwR0TFjtL5J2C6wySkQJBjEtUFUmMhcO77XWaVKqHFoYpslY8dmfGgShpJwpsqjLNeRR9fgH+gcFBpda0pcGgi+Dc69/rYl7/fUviOnPYqwn/l2jze1EknF9eQUv/LBH2bxkTH/8I/+gM2zJ/mXZz7GOFER6VJD1Y+/c+ISu2mT4czBtzKEVvNvuEpyqCKvbZUIUTNyPZbsQ7Z+fIcFY0JcGzRe9EgvT7jy4ID1foDn5Pxy63cZOk1umj1Gtcu4sBlHJp5X8LVPhvz06SHnrQGLCyHD3OXWsM1a54CeEeGSkWDgGyk7UZNxbLFhq9Tt3PIhT53Y5NJ0h38+/FsMQxu/kanaVrZZsg8JS4vn7iywOj/mottnt/YBWGaEjaAgp22qaHpza44v5g+weXKO3bsNvEbBIHLJCkE0M7heLjD0G0SlSVJI4pkkq9XGdml1H9fIuWDfRVBTIFg5PWHnb1d85l8UPPbBIW05I6oUmDaggaeneHrCB564S5JJFqwJslPhWgWboap6fCcjyXWixEBS4VYZPa3kE2c32fgnYx4xVP2dVJKtwxa3Rj7nz+YEVsK17ZMstKd8dG6LbQLi0sCsChayMZ9Y3OTzbzzI7h2H//ZDf4pfJfQ/2KRfNtlNmpy5coBtluyULW7snWD9dZ+lhSm+k/ETn75FXBhEmcnWYYuq1lhbOmR17oALss/oQZvN202+8SddACpR8yMfe4OeE/Hcj0F6aPGvvniBi+fH754eCw3Mv0z1+N7Ze3pWFRpJLclKHUGNrEtuPXia0HVZ0/fY1OYZZi7VEVocMCMx1CkVtUBQE5gJu7nHaGKRpCoN2zoxz27WZBTahCctKjT6ZzJO2SVhamIaFaas2PC7jPQGO0WLrNaJCwPXLommNc5UJyklMSb9zCPKFSKblJKh5mILtcijwqSqNaSoEdQkpaQ/chl1XCLDwqtyYluSZAqhTioJQp1/VWlEucnQaCA09f4RDRIkcWUQlwZVrR3X4EKrkXqFlBWDAwcpK6Re4+kq0lVoxLlkuG8RlSaZrqvP1f581DBliZQqwkhRHWcIWa2TVTpCr7HLXGUvhXpvVqp7uzQ3QVCzOWqp9+tvppGCmqSWDCIX0y+x9YJh4hJnEtuuju+R72bYsiTBUOCYDhtmlwydUaVKD88ruJl38fQMKshqdS3xTJKkOrtxEyFqeidmBI0UKSq2xq03z+XomkcTi9CzSKTKAgD0Vo5tV/jNHM9Qm79tlnTmUtqtlNUTY27rxbsv4L8OkfY7tbzWCQsLUy+5kO6yMhrwP7d+lAvNAb/4ud/k3378B3nGepCwtulqEU8MXyGybELT4Wm5hilKnig2+W3jEW7eauE2SqpK4+lglWvrJ3C+2uLmiYheY8rHfnCXwaHLixttHj9/F1sv+McvfoSqUi2B5VMRvpOxMDdleGBx/nmXzastzJMlX/j6GXy/4MLZEZvDFuHUPF70QqsJvAzfyfBkxiixSX+/w9NGSbRkcrm5y7DR4LPfWMV3M9q2QVhYJKXEs3MGE4ft/SafOLuJS8a16DSDiUN/32WxO8U2CjpBwvJ8yEW7z7hpEcUGr7/k0ziZcv7BMWv1HqvhgFuNE4ynFnM3GgwebRB5FlGqHD90bFyy43sfzySrf+YQfdRQqaamAJyoNHHrjE4cHaPo4YLF9tjn5kbAzzzxTewq53Mv/xCdTsbKqRCATFOR6VbY4c7/dZbRT/ZZaE+5/so8Utb0ujPkUZ14qTtQSHPeomtM8Un57TfOE8WqvnXtgsVezNf+2SUKo+bwiUMure2z1Aw5eNHHjgXXPyR4bO0un+huUCBYTzt885cvsvn+hJPvDzl/5oCsFLzx3ALxJYn3UMZgbFMUGlcu7LPoT1i19hlWDca5TZxKLpze59PiBn4248/K2TsvXk0D893Aqu+NvadOGyUGo8Thx7yXIIetuRO45MS1wVc/fIGV4YDV+i5fPHOBBMkL82cZah6jymEQN2hbM8yqYNEJufj+MeHUoBMkPNl8FXmu4ulI8gNuTNuYYXol46nFwR2b9XaAaxWYhmqfAARuSmAl7E48OnMpb/z0kJ87+xrL1YivuAsq/ZYFV071sUXBs3dO09932VtvcPLhiMXulMSReGaO83f2aDdThqlLVJhEuXJy2yhwhXKQpJTcfC3Ab+a0/VSlp5pOUuiqb+nluGaOqVd4do7UKiIspKixLQVoZZlKjwfCw/QKbu51GI5t7q7NWHRD2lXMxo6PaVR0nFjVeaVOkkmEqImbFbPQYiOfp2PEFLVgN/K40eoRtS38KqPTnHGVbYa+y/PxPNeKRUytpCgEVaX64AWCQtNVWyg1cCeCg6mJ7+YIoa5l+cSE3XGDjbTF4nxEYKd0zSkuGSYl50/uA+DLlN1Zk8HE5eajU4Ig48kP7NKzInwt5QNP3aEoNRZaU9rmjBiTtWKAZ2U88xMLPNDI6AYz1rx9pFYRP2Vwfn7IFd6gf8qj77gEjqrrR5WrMpKjVHhr5PNb/iWe8F6nEO9CBtQA+VeTMPieOm2WCeJMsjLZY+A2GUoPt8ipao0b84t8fP2bPLh+m+unzrIrW2wyz/a0xWDiYspSpTZ1TSASFtsRO3gEbsr58A67fouNMy18I8UVatFLvcILdXb7Dr5fEDQzqkoBEp6Z4eo5WaHjuxm9YMqF/A6L0QjbKjEN1Ttd0Ue0yynX5CmyTNB7w2SyKClKjazSsfWC86dHJIUkygzC2jxyEpCiVgjy0WI/vO1gPlDhO5lKl4/IFPKeo4papa9SOWlSS2ypEFhRKkAqyXTC2maoe+zsNYhjnU4npS1mBFlM/46N7ZRED5iMZxZxph6pEJDZFfFM0o89Aj8hq3XGU4sdwydzdFyzoOPELE+GtD0VeTb251SqLmqkfpSuUyE4AtAKgSgVqSErBKZZ4TcyOk7M+m6L3TuO2jD1CtsukKj3L5tjTAo61ZTCFkSZwdKZKZ1Wwjl7D5sCQc3FzoCq1vD0jKzWCSsLP59hlzmXHhgiRYUrc3raBLvOudQxWNWGrB3cZcE/S1YKTF3dz7hSkV2VHTXDsc3WbY/VKyOqd2Pw/k2NtHN+Sqcx45fzj+CXKZ6W8Zi+TYXGUDT4jXMfxjxX8ve+8VV2Ts7zz+ef5PprHfZeavLhp3bwZUpU2cS1QVYKRqFFUWpcWzlLVWtcWtwjLg3C3CIuVJpovW+K6xT02jP+m+CP6Vs+18sFwtyiP1NOP44tNnZb3Dh/iqhlsZDHtN2Ei1af7SrghXyB0cRioRuz+gu7dMwYT2TElcG4sNkeNek0E7pHUX6UO9x8tcUgdPBMRdSIMgNjLufxh/t8WtwgwiLWTIK5hKg2iUqTnajJMGowGDksdGLcTs4V9zaZq/PSrMehI7DNElfL8auE3nzMyLCIZxKfhG4csrQU4zoFq40RZkMt1ucPFhhoDqJSve3V5ohh7hIXBr6T0bZn9GTERjpHlLb48omHaTPjF374W9wYqRR8aTFmpRdyoTXgE3s38JKEz565zEr7kOt//w4XTkwI7JQrp/pEpUl/2qAbJHRayXF6vJs2iQ0DT2Qs1QckmsGG1sHTMs619rm5Ncf2zOMZa+m4NvfMHKHV9CuPraHPTt8leVQSyASPjJ4ZsaiN2a7nCEuLnagJPnitVLXAZMnGIODcyRFXxRssR4rX9OunPsQ4tYlSg0+EN/mjKHrnxavxLn3a7529p05raGpX3Nr3aXdnqs9ZaVSKi8aodkkqya2zp8l0yZo1ZLfnMT408EzFkBGVogYKDapK9d0qNCo0ikocAxJJoWMbJYsnpwhR49kZI7NBpkl8PSUuDKSo8IyMOFNgzm7WxDRLpFAgUITFMHMZxC62WeI7GYGRqI2hsHD1nOKIPjeOTeJM4rdTTFGydDrGtQri3KCoNJJcEgSZYlVJh1gYJBiElUVSSYpaYOqVoncaKrJVtUaMSYFAfyhmwS6xzeKITlnSbijCRZLqjHEYuD6rpw+PASCPFEl1xP7SGHcKztoFUqsIZIItCopKEMgEnwSpVxSlopSGpcU4t/GsHKlXjIStshMyRq5HYhi4qN7kODRpN02VKWgVcWEQZ4rYcC9rKGqhygZRIaix65xIt1iP5vFNdc+KI6rl7n6DwEvxnYxRbCP1irajWnRFoTHKHJWp1EfPHZ2kkiSlRB7V6VvGPFFikh31ZaPcZGg3aJtTBBVJqZa6b2fsOHPEtvnOi/dvaqQ1KPH0jKIUXDDvciG6zZe9NQB6TIgrg924yf+Q/h0udQf80h//Wy48epFnH18hq3U8LcMtMlwjwzMVyCJETbuO6ddNtsc+a/MjtTMXDXrNKQudieoPlib/cutDLLSnXGjt4RspvpGyqB8ytmwaLzV4YaHLsOMiRM14ZvHM7AzhTPGhV08eKqphafCVl0+zt97gbz+1g6mXeHbOCzfnabziYP5EyaI34aeWb7Ked1gfzhHNDISA1dMhuxOP3+QiC82ICo0X3+jg2gW+k7HUCuk5EVKvcI2CohY8d3Caqtb4masvE5cG/Zmn0N+6YrU5wjWaRLHBC4en2HWbfDp4iUQz2Kza+CLBrAsGY4ckEchHQwI3Jat1HitfJxM6L7iLLGqHLGYH+NYZslKnTcxzo9N86/On+Y9/9s/o6ROeYQlX5qoVZ30AYdU8mb3CM/lZ3vevunzlP7I5eXpGlglsuyRoZvTmYlyjYJA2SApJmJiqxrYkrsgY6w5f/d1ljAdjup2EJNFJEp3p3RaPPjZguXnI566v4DoFl87fJZlXZck4sYhzA1sWDHOXRFfPV2g1y96YfuLxxb0HVEA44qJvDnx2x+dY6ZzC1gtuvtGm3UxZnT/gV24/xqt5+50Xr8bfTPS4QsMXKVcX77CYH+BlKePCVtxRfQqoemNrV7Fvnrl4jm4U8unoOr8WPEY/9RhbNlmhuKkrCxOEVnOr7vL87im+ea3DyifHeCJj845PNGdQtAVda4opSsYT1a45btloNSPDYRjZ7D+QoEcG23h0/ITRxGL9VV/Vi62URSckq3U2w4CqgjooaNsz4sLgxsYcS4tTOuf3qWqNUerQ15sEMuFq7w6b0RwAq96IrThg426Ltpvgypy1U2OyUqeotKMMQqV0pq7aMjtDjyiWXJpTzJ0wMRk1XaRUUbGqFcFgOLGJM4k7r0gY/ZnH2LQVlzcXZJlg/65Ju9XAM3OuO6cVgYUJAAOjSaAlRIXJC8kCrlnw8I/coa3PkFQseBFZqXOjOEmUmdiyYLvRxi4LvvBTYx79wIjATdnea+I3MpbbIV1ziqmVbEzbuEbOUuNQtfO0im3RJqpM5i8dkuWCcWjy+MUBVQ2DQ5eV9piOHhPHioJ5LyI/cfY2g7TBcOrw5Ws9eicTFrtT2q7iHr+4e4I40YlnknYrxTQqXLtgMLLZe8MhXDMIvDc3fEFNODUoiu/fmvY9TdprNGxy1vQhQRojqkqhrYVJ8pb9YjQy2Rk0uN48g53nXP3mK2SVzu6hxwt3TzJMXcWOaqqHtR232HyjybmvO8cp8nBoMjhwGERHJPUjBHQ0tti84zOc2IxjS7V0YpNeLzn+OSgq3ZkXXcJQgRcdMcUVOaPIBlRf0ZPq4devOnRbM5448QYA45lKqz0tY409ek5E15myqB3iypw4kVS1mmRZcCYEVnLMhgKO03Oh1QxHFv2++p0VGnEqFSmEN+mPUq8Jpyb9kcvmZI7tyGcwcdgctVgfzlGUgqIQdHdNxhOTcaLS0p3cJ6hnClPQPFxdlSDrd+ewZcFjJ28ft40CmZBVOlv7PuPYJExN+nUTU5RcubjPuRMjlpuHCoTyEpbsQxZESFdTtaKtFyzpY7r6FE9k9OsmSSVZO32IbZUkic45f8jFYMDayQMWzAk+Kvqmh5J+6OLqOefEAM9QRI+Hv9xk/1tNtu96RJlBlBrcfNln6/UGo5FJlh8x6Qz1+Ss3HbZeb7B9p3HcwxVaTZYLtPJdoui9mvbtXt9D095LCdX5R99Xf/Sr/zfjxGLRmyi4P2ke14X3/rRloRBBM2JYuISZxeONbew6J9EMtquA3aTJKFY11+PNbTJ0EgxuTTtkpc5iQ/Fu71H1BNXx1EpUmiwbB5iU3Ey7hJnFeGaxHBwSSDUdUyCISzVRFKUGV0/sElcGtw7mj6/nHse2P3RoBym+mynyg5Wz2hzRTz0GkRpDjDPJCzfnWVsJudAb0jMi4srg6VfPHi/00VRxqV2rwLNyOk7MKHEoKo1Fb8I4U6DX2okD2oZCd0e5w/reHItzEb6ZMkocTL2kZ0dsT1v0D12GY5t4phOGBhffd8BK+5AwsxBaTdueqZS1lGyPmki9Yq1zcHxPbKNQ9fDUYiGYsuSqaJlVOsPUVSSMTGLKUrG5XpujM5ew1hsTZWrDO9faJ6mkIkhoasjivDMgxmRj2lYklFxncOioc2qmmLJUWdQbc/iNjI8/sMVmPMf2qEmvFatrn1qYR621+Oh32fdok6U4fka7Q5due8ZK+5BxahPOTG691qLXnXFpcY+iFjz9g/8pBy/cfFvPvdKy62sfPvO2a1v7/Y2v13V95S/jH9+tvafpcVlrRJlJlBhkrn4cWe49yHvWNmbYosDXEjbSNht3W1x9cAe/TFhJ9og9g12aJLkCm7rlhELTiYXBzfoEVa2xqB8SYzIubUy9RCAoUKwqT8/wSbHrnI6p+pnRzMNuF/giJawsTK1kUR4SWhZZKehnHkmpyPD32EpVrRhCgZ8pnvLY4sLK6LjejnODYWjTbqZEMwP9tkWyqOOKXHGChYro9/rHRSmOXhpSqAEJ6VTHTKys1LHNEk+qmdhh4ZKUqgfrGRltOWNYuwitxhU5vpmSeQplF0Klg1Koe+2ZGUUlGKcqhZaiIsl0TKnRNmYMZy7bdz0WOjFSrwinJr1WrCZpEGSazljYDKcOW3c8OkGK1CuSRAE/RSUYRTZFKTjfGirCR2JiG4U6P3IKdOJcYssSWxZc+1ZHteQWdPxGpjYvNyfwMtpazLZoEScSe75QHHNdlRGmKBkJRw1xWMkxKBmmJkUlMI2KdiNl1R6xrSsW1b1hEltXvfR7wx3vaH9F0eP39KzKSpCVgsDNOGftcbnaUQwjM+EJa4ur9g6X7V16+oRlRjx+uEnPiSgKwa38BCPp8qmvXONCsosrc8IjxHZ5MqTQBLdKxTH1rZTlfERcG3xla5HN2RzbaYunN89yc3w0SYJBohksaWo46ZXn5+nPPKLa5Pn+KW5NOlSoAQQpKr50Y5FnvtWjP3LY2WuwM2ywGEQsz4f05mJ2d21afzDHghex7IwVLTGTZLlgcOAwCi0mQYHUa5JKkf67RNhmidQrqhrFoPIShAYdO+ZSfZsVY0TXnNKfNIhSg05jxgXR52J2m43xHDtjDylqApnQ0aYKqS4ULXLZGvNYsINrF2SZQB+YFJWGK3LO2XssO2PGM4vATLjo9LFNxeXuahHj2KT8ozamLGm7CWGkWmgBMwJmtLWYJfuQ7bseH/sHp3npG236+w5RJCkK1RsNpyb9oUNYWsSloXq6mnKUXhEiKbn5+hxVrdG2Zpz+WpP3faHF/nMKvOt6Md3WjK4X06mmLNgTVk6GnHf3WLOG+GbKohVywbzLZf8OF1oDBUMznzEAACAASURBVDDKlMBMjtfd8smQJU+NSS4YE3puhJQ1nqNGGpfFARbvQmMURzXt273ewTRNCzRN+8mj18pf+NnPa5p2WdO0n/xO/emevaeR1tILAjtle9RkqzFHJiVLUpHpPx8+rJreoqJtzXB1j37LZ2vcIssFmwcBYq7m6ccfwctSftx4EfvseYpasK3Nk2gGgZ6QWUrz4ro8zW7SxJQVnszwZcr5hREdM2ZFjBjgMawbeFqGrRecuaQW8Ebd5iMLb1DVGv2yyShxSHLJ8sIE21ALePewQRgrtFJqFV0v5txDITteQVJKEl2yKA8RgUqVd0YeAMvLU1a7Y9YMFXkSJL226gn37IiwUP3l3UM1cvdCY5GqVMBZp6GGCZJCsqMFRKZ11MrK8cycnZnPDj7j2FLpuG0wztUAxnii2hmN1Zgs19kI58iaiv/daag0e1w7XD51l6SSPBsuYcqKk393V6Hnhc4nH9liWR7Qyw/ZMeaIMYkqk958zO/9w5APXBnSaSZUVZvevHLoqGcynNhsHCiChu9kx/X6cjgka+lqEysUD7z89IA3JgaTsckZszyeo/X1FGoIC4udkUfX8WnLmdrQqohuGvK8vUxYWkitop967Iw9Ol6CayQkhc7G4Ry3ynmWWiFSq+idUNd9PTpF157+OUzlbe27R4/fqvDyr4H/AuDIUTfrun5B07TvWqrpPXVaU1OsplFosd3wyRo6l83bxFqHp587hecVuG7JubNjRRZPDUYTiywXbN/1yArBVxYe4snRy3zkGzcZPuHRlz47BIqYTkImdaLS5GZ4gjhT00CertIr18npMGUxPWDLmKOfenStKbYouHhmyM3dNsNDm79nXmNoenxhtkaYmCS5znI7JDASuvqUohLH85mmKAn0hHOnNLrBTEU5aXCeCVJWuF7OaKqApKCRsuIesJIO2bHUwu96MR0zZlE/ZCA8RppDUTYZhA5hYhI4Ka6hJoCiwiTOJf3cYyzsY6S5bc24uTfPYORgGhU0ISklO2GT4aHNeGxi2yVLpyLiRLJ1t4kUNZ6ZHUekcWlzUb/DWDr8ytcvc/nckCdOvMG/e/lhYiF5cv4VvDjFLnK2jHnCyiIqTLrNGebH73Bhfg9bFOzONeg2ZyxqYyLPxNRLrr/WwW9krPXGbwJw+yPGtotpqHG+SJo8+dAbjDKH59ZPYpuqll6SYzzUIH6YW/T3bHYDD+HVnNf69GaHdKIJz5x8kDC36FpTwtTk1qstPnJpRmAl9IsGW/0mh38aIH60ZtGf0A1mhLHJje02iycs0vLbmfJ5x2M6mqZde8u/P3MkAAFvr/Dyw8DXj5x3DDz97fjRX7T31GknhcWtvTZC1JhHdeHzyRnGqc3SmZgk1SkKjc1dH9sqlWxIMGNhfkqUGJiy4sVpD7NdEl5xKDQdScVWOYeplcfAkylKslKQFUctEU0VMJvJHGPDprCUIobr5GzEbUWykBm2WRKnGtt2mwEeg4mjGEOumj+NS4NbWQdTL1meDxnGDkKz8Uw16L3UDOnHnmr5NJqMa4dR7qgo42Z0vZidxGeHC3Rr1eKSWsUodxjnNqPEJskltlHi2RmBnfLcKz2iSPKpK1sqrWxMGae2kmQ5qg/HmU2W6xSlRjQ1VStjvlZSK32H7okE2yqRR4SNLNfZ7PsEzZS1TkGYWYSJSewZDGcOznWPF4DqYe24ttwwTuAauUpp0y79aYPx1MKzczqNGb6uiBxSV/WxWZdvtrDMUvWijfS45fNrDz3BqHTotBLiVBLGinZZlBqufUTjLCQ3ky6+kbKkj1lyDvn4I7mqtyc+Q+M8XXtKx4vZjOYUgpybjKcWrluSFApgW24ewgJcPy8ZHDqMIpswMvC9nLXThyS5Tll9G5XhO9e0w+8SiLp2FGn/gL+KTltWCmzptBLa9oyOjImORt5cuzgmxoMaTm83kiPn02k3Uky9JDAVENK3fYaiQYFgTR8SYRLWthr50+6NtdVUdUVcGWqjOBr8rtBo1zGFpnOr6hz1SQW+m+G7GWNUHVbVavi8bc7IarUAhlPnCNlEtQ2E4hVnldKwykqB0HRiTOLSIC6M43ZOnL/JfcVCcXi1N8+3qARJriNFjWsULFohpnECkJiaQlOTXB6nmPd6zgAdf6ac643m8e9w7YIgUKylJNXZnbnHfUvTePN33vuMnbBJGJv0z2TMiZr+gXs8HtgvmwpA0xT53jwa0UtynVFsM7ZtbFEcn1eo2YwzmzA1sa0S23hzHLCoBTY5vi4I3JRhZJNkuprA0pSImymPWGm5itZtLSYW5nEJxZG4QFSYx5vyvf6272Z05xXQmRSqXAHwm+peZLlguK9ae71AXcO9e/C29pfr075V4eWtafCr3+0HvtXeU6fVRc3yfMg5d8haMaA3UanNi90z/LL4MJcWBiyZhxQITEraTPni4UPcfC3gp6+ss8I+V/deY2PuJBtGhy8NHuBce5//7R/9I179+Y/xq+c+Aqg0vOPMiA2DpNC5freLZ+d8eu4lzLpElBVrh3cRVcU17zQbw4Cbr7T4zz96k/P1XZ4vzhDmFr6Tcc4dslAfqsHzzGWr32R8qJrxH/lgH99MsfWCG3c7bN32WFqY0vYSxUvOFbqqnE3nxfWTXHp4xJXOHbooRtRYt1mUh6zmQz7vniPJfKLE4MKJKZ88vEG2prObNFmV++zWPjfGJ3i8t0OHKU8frBy1bRI+6b5MNw35x8kPHZcEj5+6TXVK49efPYex3uDSHzp8/R8MeeqDOwSGkmgZpQ6BldBzIn7zqw9hmhX/y6e+xjPjJb70J6eQUknYhLHJQnvKUjPknLWHsGquydO8+Po8+R/Os/tDLgvzR0hzavKCWOC59ZMMBjZPPHqXtqOylf5U1ff/05d+h0E34Fc++MPckh36osHq/AFVrTGIXVxDocPjxMLTMz79zWt85pGP8uyrp3j8wTu05QxPy45ojAK3oTjKbWIyVydum9wIu/RDlxvjNqZREXgZnp0TZ5LTXzvJuOPwwgckpvmm+sjb2l+OEfVWhZd/fSQ9fOUt/78C/OJ3++HvqdNqWs1w6vB7g1Vc6yy+k/GpUy+zyTy3XvERWk04b7HcGJMg2coDnr95grlnfZLLkkrXGDaaJEIiqFnwI4RW8yf/3Y8B8KnBi/yb9ocZ5zZXnR3GOPQLj7adqBZBXWJWBbKu6DdaZEKyICfIrlJpSCrJjh6wJMYIWSOcmjEON6oeu3GTotJYPX3IqGUTJ5LRVO3Wi36IbaoswZQlnpmzIEK2ixbr2y0WT06JU4m+4ZKsHNImJkESYrM+ahM2LRLHYBg5ZIXANgu2oxa/0fgQbW3GmrtPv24SFhaenbE1C9gVqi6919O+QQ9pd1k5cfgmd7o0SSrJ0umYrJtw92MVV4IpglqhuZWKkqFuYuoV5x86xJQVO6VSgej1EqJIyfZ0/IRFb8KaHDKoPcalTZSp0cjRDw3ptWdIvWJ8dE98S+DaJUGgwKcoU6SOOFWc5N974gojq8GtuIMpSlbaYzYPAtXu0uvjdtHl03fpiCkvPnCWzbytOOInPcxmyRPFq8S6xVg6vFCcpqgFi8aYUPPZTlp4ZobZUjPXQSNl0VO6YFml8+VPObSMiqCZIkXNxHgXjSjtu1eueBuFl3up8Let/PJ29p46rdBqBmOH/HNdnNuSAx2+/L/mDKcOZ150eTHXGJ626Lw/Jiklz792kpNfanHxSxbxf2mQ6Aa7TkAslOTJoqWkSH8peIqfq67xd//fP+Sf/viTbI+a/IL3Ov1GC2l0qaRAoiKsrCvMqmDHmiPCZIGQthmzcGJCP/fYLOb4hHiZIIsJZlN+u/0oL+51SXKdoJFyPhgydFzGqc3GHV+1Z/ypItbLGtsoVSuiGJOVZ5m93CDyM5JUZ+lli+xJnXYVsyXa9DOPW6+1GLZtxh3reKEGjZTNvs8fvHKa//pHr7NSDnk6f4iiEnhmzuZQ9StXe4oPbYuCF/e7DEObp1Zex9TK40g/TiyW5if0nIiP1hvcNE6xmcwdybSoPvI9e+zsHaRWsTVpkeSS3vyMnaKBlAohXzLGrM3uclN22T70iTNJx0u40uszyhzCzCKK39S68hvZsXhAlBps3/Vw7QLXLvhscJEws7h5u83V5T5LxiFffP0MWSZYXpyyO1Dtox87u06nnvK8v8zmIGByYLI7atBxZlx8Y5tR06PvB3yxfIgoNXi8XRJjsHXgc+HEENssSArJYiPkvFRU0EyXuOfztwwZVKzLd+nTasA7SKh+L+09ZURZFy7Wy5/995hGxXInpGtPWZJjIixuRZ3juqLrTMkqne1Dn/HUIoxULei5OedOHbDqjFiqDhiKBhkSk4JR7TIqHD5ZvUSiG/yP3/wYUSRJEp0rH9hnoRWx4hzgk9CuYrbFHKPSYf1A9SIDO8XV8+P6aJQ5rPcDHlu6w6I8ZCufIypUtAhslRKvD+eQomYxmLBgTQi0GV8ZnSUrdBZ8pXjo6RkbkzbJEdrsGgWekdExY2xRYFIyKh2Gmctw6hBnkt09l3YrY2l+wue/usip1y3SyxMWezHne/t4Uk0LvbjXZTw1GQxtHjs/oOtM+X/+/ftwFlJ+5gde5vrwJFt3PIKmGtIYjixsu8S2SnrtGa6ZH6eh9657nNo8+80upllh2xWdIMG1CrpezKITssI+mSZJkOyULQZJg93DBld6fQKRcD3sEVgJy9aYrTSgP23w7De6rCxH/PiD6/ioIYZYMxnhsh7NsznwGR7YBH6Gaxd0/Rm2LI6JE7Yo6MiY3bzJIG4QWArxjgtDUUT1KevJvJJMFRWBmdCWMwZ5g6SU2HrBKHHYGXmsnTzAkxm3hm2imUE4Nbm6epevfuQ/YXDt5bdnRPW8+trPXnrbta39sz/+68mIqivFyun4M7r2lK6cHqsIduz4eNwKFLhjSqWe6Fo5u8PGMZe0Qo3z3XuvpFLzqJMmWfPe0HdNlgmMsaLIJYUkLC0KIdTriB11b2wtEjXSqkBAVJgKXJmYFLVQ422VTpwbSiBbq6lMDfMoiowT65gcXxyh1nFu4OpqKkYxjjRMXTGfxqlNx4yPBsLL48h0jwooBLhWTsdWdD0z1UiPrklo9VtAKaVDXB0p8kutwp4JkkQci5FLXW3CRakxHhu02zWuXR5PwNzTqpKiovgLCOo9EEpotWpllQahtJFH31yggDedODm650eKhlJUtInZEf7xszBlhXfEQjPrklgzFTvNyFSbCiU741rF8WC7q+eEhUq3CwSuUNROV1dRcmMYKOTfUXKwUqh62tYLkPw5xh0oFpQalRTER7I8tqk2rHetVv8KDwy8p5G28ciF+tzvfZYk0xlPTJJEp9tRZHkhYLkT0rGPaIW5ye5hg+07HsOhyc/90DpLcsxqvkffaDHAYzdTvGVPZqzKfVaTAb/wZz+KlDXb43/CF3/gEX5Nv4orVQQtasEocdgdN3jqzBYL9SGZJo8BnqxQYmKL/oSuMWWt3uPZ8izrwzme/4ZiUvmt/Fhn6sr5IaZekRQ6/QOX0diiHaQstKc8Ofcav/HqBerf6lH/lErL8s91SZ8a8eT5HRaNkLCy+LWvvo8gyOjNK8EyW5a4xpsauk+ar9LJJjxrrRBVqkbdmSiUN5oZLMxPudzuc+Owy2hq8fip2wAMc/c4c+gnnlLhsA6Ovs1BcGvSYTyz2B262FaJaxU8fvo2playNQuOZV83+z5JptD95e6ENX//OBUf7Nu0g4yF+Sm+pWiRX37hFJfP7/Oz7ev81uFFNnd9Pv6+11XmNPFJMklVw0JLTV5JUXHR7NPLQ349+iBRYqg55FRRRq8u3FFib0fXNM5sFpwJtqbmgl2UyN317BRxYRCYCf3YY3vo8fjZXTyRsR7Ns9Q45FJ9m2erZfqxR1XDojfhsn6bXa3F//mh/+qdI+2pZn3tP3v7QKr971/+6xlpG0bO4lzEc7dOUhQaUtasdEOi1ODGq3PEiY7f8FgIpkhRsRhERDODJBEsywM61ZQtY55+pb4OY5woDSVPZth1jp8meI2CaCr54g88QiINnjRfZVvMkdSSthYzlg6+qXqKsaY0eIuj76mxDSWLsmQe4qG+AyguDJJM8viVPUxZ4hoFOyOP8cQkTg2yt3wdhhBvbngmJUEj4+XFnDNHINV+u2TeVVzXUal6s1JWx3rMVa0dyaOoSB3OTIa9BrbMWdBCdoXPztSnKJWCxdqJAzWIf+8rPoySFfaVJpUu3yIIcKRoeZSZ3PtmBNfMWTwxPY5Iu4ma2rm3yUlR4bk5plESeBmukR9nBPfE2DrNGUteqEYBZxZBkBElBs9Uap61Nx/T1hUnehg6JKmKVuc6IwAGswbbMiA2DGxZgq1kesJS6SBvTgICO6VnRexOPTZ2W+wGDdqNlMdab5BgMKpddkK1gXfmVXaSZGqgIRQW67sB2UlBO5hRlEJF5MQkzC12ZYsbUZfpUTvube3dyRXfM3tPndarU5bdMb975yzNuQy/mXOp2WfbbvGn2wuklcMdAeYTJT0/ZtUdMZ5Tciqr2R6irvlK/QCD2GU0sVUf1c5ZbITYdYGbpXTbM+KZx69qj/GUtcGPfesFPvf+ywy1Bhfj20SGRd9qEWIRYqtxtyPtINco8M2U1WKPStMY6h5RZpIVgk92X8GvE2Rd8aytom8YG0i9VpKeuhJgO3ZgKjrejPVzU3xX1ZSHiykPNZWG1U7qM5rZuK5yiLaTMIwd4sxAaGqCZedug435eTBgNd0jtCz6hy6uVeDbGU8YW0TC4lZxQkmzWDlLsxGJbtC3fOLK+P/Je78Yyc7zzO93/p86derU6erq6pqanmazp9nTJIcjakSNaJqWaJvRyorgOMFm11gguTACI3AWe+ELZ28SLIJFduGLTS58sQgCxzC8itcRvF7B0Wq5tEzLXIlLU8xoNBqNRsNmT7Onprq6urr61KlTp87fXLzVNRRikV4ZE0vQAQYccoo93VXnO9/7ve/z/B4BAMyEnhHYYoQ4K4c9K2HNHROkFmFisjuoY+o5V1pHIlIp5w+TQqHlSll69j6pVdF4t62QdWXEfu4xHFs0/RlhZPDl6+tsPxawvjTGZ8pQqTA4sYhjDV0vaBqR5PuENnHWxDF8bF1CzMQ84RCMDW7Nlmj6MxprU/aPaky+tsRRLae6FfHSx96lX7jsjpfY6wli9fLy/DiQqXRPqxSlwv0bdcItHfdSiq4KsK83c+gjts03v9tiGj5SGeMjvR7pop0pBsOswtLKTPi1brIgM3z0Uz3u3PM4PrSJZgbBzKRvVrH1nLXWhF2ziUPCDkd0LJuobjBMK1LCBT62n8EyFF0F30tZqwR0lTq/d/kFnooesFEMeN3dWuw2cSGA7zCTc6tjSJdRVUrW0hMyVSWpyg3f61cYXayQKargapix0xxy62iZKNbpHldpLU3ZaAY0LHEodanTtCNevNwTs31kk89UcQUpUxp2RN9yeSNo4TomoWcSzXTZRY0MUy9oLs0YJTZ3aHKLFqNAusueLVynWNXp43Kz32Q0FjXR/7b2PL4W0y5Dbhy32O3WBDKnFfRPHTpLE5qViN64Kt+LIWZ8VSkJDDEU3Dpu4tlCBzmDxHv6THJ2iIgsg5EinemiVCgsyc+x9Zw/+TcbpH7G9sUAz04w1ZzdvEE/rkpF4YnCqjurESQWvWOHph+T2So3estkmYJTycR0YM6TGjRRjXnVhPDjp3zkXIhnJ9xMVskKFcdIaS9HxInOm91zjMYmg2NL4HxWzrlnTnErGaPYWuQbBRMT105pWyF/5+od/uXSXwGh+iPaPX7k5IqsEByJbeaYer5Q1th6jlvNiGoZTW+Ka6Zijs9EnhdholNgk5EpKagQKBaZoi7kebEiWmNzrr6JSoOgtNhSjzBzSeGLMIlKY2EgPwPACc1CJJBqWaCWCnopZy5dFyVPrBjEpbxFpiqqnViVUsw2Mlr2RJpKKAtF1VmOja5Jk0hV5uymsiBWDGw7l+9XfWjPSzJpLp15Ss9S88LYXNj2TDUX0X5uznE2JaZa0jt1KDyFNSuQcjuRxlaCSjTVZee0lYXE8+x9UCmlvC+URWPL0dKFiuvsCKFSioDfhGAmRgRVEbtjZqoUaimaaztbcI/PkKWuk+FYEjFiqmLH82sJtvFw3CLNtvk/3wduXzSVVBYPlKQQ04OtZRJbkstizHIVx8nex6p+eA/qakEx/w9ZoZKUGuvqCPvDXD4/rmC3uZJjE3gZeBt4a/57+CuESuvkNM0Iz00JJoJ++W3+JbdbHf7+9c/Q8BOefXLIP9T+lIHp8r8OXuDGd5aov2vT+G++g59HvMUFBonDcGqz16vRWpryD5a/jhdNsbOUtrdJt6zSm7l0rDGb6jG/l13Fs2b8i9/8Rzz4Ty7zWx99GVeRM2u3qBHODMLY4OfW7rFRDLlldeQBo2hsLw1pVoXuEJUGWalyMPUWBnxVKRmNTZqVKWv6Kb93+2myTOXKxjHdUZX+SYWf23kPz0rY/LZN8ZLCZjRgr7KMSsEvfuxdbDXDVRPibJX+qcNut4Zt5XjVlKecI9plwI3aOfaVOgdHVWkSFRq3Zi2izKDpxby48h7rxQk3aWMqOZ3ylM+0Yl5sWbzev0BvKNQGdztlyzxmX/dkx0mtxUMryVQcM+PF5ns0mODlMf/0/k/TfVDhys4JTdehXbG5puxjkvNq9QnWzVOuxvu8aW8QKib/1S99mzATGmOUCqHjaq1L29BpWhG9qUtWqPxS+i2cNCFo27xtr7Of1PnsyvcwycjQeD18jOvvNoWXZWU0zYivHbZZ/tfLvPkLGpsXxnym8w4FKjE6d499wqnBemtMoxLTMifCHJvUuP+/PMHtnxnzt39mwGXzEJ2CP+RJhmOLLz3Y4PntQ2Yftl/9GO+0fwf4g7Isf3MucP53/CWWox90lSgEmUWvX8GrpZh6TqwYRJp0kocjgajdvNwhQ6NVm6LrPnak0i09Ck3BLjNa1gTPmEc/WimJOt/9soymGxE5Or2wiqOntHQd34pxtYTjT11i5FW5Et+na9UZKg6u8ZDCHxYmQ9VhO+4TawZ9oyY70DzH1SHBUVISW7TKQSxa2GcfHwjbKl2i3ZgK88qOKOrCNI5ygyg1ONia8fgcnB0pJmFpEaQWppkLxFubC+61crE7dLMasS7jFlUp8aqJzDDn88uzMccgd0CDUWILI1jTGVFhmFWIZjq6VrLxmDiUDrI6np0sFutZF7coXKJE5yD16KtVVCSY2fdT1vyQljWhrY5JSp0YA1dJCEuTG/Z5RrlNUmgEqcUotuidODRqM6FPxCtkhbCNw9iUCkIvGdpVvmpcpBe5BDMTVWkt8nj74wpFAS1vSrMS0dbGeG5KZpTSxFRLttM+gVZhoFaxjZyikrLpiZMozE2GswrhzGDvyRjHyTkIarSbksuUZOqCnRUmJvmHaY/h+7fsH6HrAxftmdVIUZSryE77oaHS779yVAaxg3a7Snb1VM42lSV6ukeSqJR9kzRV+NL5bVpOxEZ1hOc10VOFu5MGiaPRUCM8ZYatpJiNeZSkWsHVYxrFhDX9lNjReWO3jWNmdLwxm8YQnYLPX/tptsZ9fu5bN/nCxz5BiIVvzCWOmiVoTkPlM8ObhLbNoFFdfO8OCc1ywno0JKuqFBWFvaNztPwpL1fv8kayzo3eCs+e6+NrMZ4S47kzmrZNd+ISTE2qz4xlHp2pBNgMswrdUxdnOcXVZDHapoDS9blg/vZgWVxCtjxcml6MayQ4qkglB0qVvlZlN/C5Wy5RFAoNJ6blhOxNfQ5GLsNTC9dJeer8iGBmcmvQZGv5RLKEZpWFcbwoFYKxyc2iSTAxCUIDt5qy3g65XDmkk5/SngTcrrYZUcHTZnSTGm8MOrS9CF0tuHW/QRAaDAYWO0/IA+9r95YW4DSnktHwZmRVlV2ryT//0tM0lhPcasatVAB4qlouXr9WDcSong1p+VPu1YrFHPvqe3scLC9TeKt4doJtZFxRH7DLMjdGLfqnDkmq8vgnhkSxxq13ffyKGOSjmb74O8KZsSj/f+D1Y7zTnl1/tyzL/15RlP/rw174/iR4e+0co6nF0gtDTENE6G831jlIPUyzoPV0gF9LiGYGB1mNoVnBdTIGLwTsuAM8Yg7yOnvFEkkuZndPn7N9VZ1RxeFussxg6vDZS+9iKjkFCv1CROqmmnPdu8AbH3+c9eyEK3R5rby4QLl4xgxbzXh79TEi1eSg9DHVXMgReY29YolXyicIhwbRTCdONIZjmzeq68S5Trse8fo754VptPYuN0cr3Ljb4NrOEV4l4ejdFq/b5wkfMzET0cDGqcbBuEZWVRfJeJ3lCaaeY+s5YSI77JXaIUFhsRsu0Q1durgkdW2BWEkK2f0dPcXWMsm9LRVhP7cmi/NxoxLj2zMOxrXFvHk0tebNGQPTKFhvjNmnxnBkSmjY1OArR4/jV2Y0rCn9oCrG9ZmO7yQ8tXIs4WWZQZKq+F7C5vkx4VT80Fvng0X/YhAKTfNV6xIU8Ms//w6jmZAkPTtZqKD2Tz36JxX2Q4/Y0XHNhE4tpP8LRyzNDfK/v3mNQVGlH1cZTYV5datcJcoNPCuh8BTiRGc0MWl4M3bOj+ieVrkz9TnoOnheyubamFEoqRAffCPz43mmhYXb/p/MnQk/yHK0uN6fBO9+5HKZ5aJJjWaSYzrIJf/GNEUy16pNFyFScaqhqiWOk4maZh4qHKaiWHJMKRMTXSNTNDJVW9wA68pI5qzM0+hQKFSFIQ4HM4+2McZPo4Xi54ziqFLS1epkyIJQKUGRsjNILLonVZJMXTyli1JhGFceNoyG0sUtUBiGNtNdh+KSWM68E13oio2qnJNLhSRVCWODvuKQ5Q/nrWdNHMeQMYhDIo02tSBOLBnhOJY0pTR5CQbbxwAAIABJREFUOKlKSdOM5OcpVUw1x7XSRZPN1rIFC2k4lcWjquXiAaRrpVgizSlD215EgRSlQm/oENc0kqpGMBUwQJKquHaKrQoPOpkbyU29oOHEhFODJNUWfmSAQBcSRn9WxdUTOpaI+APdWnx/rpYwtCqMDHltlBkEpjUPP5tJo0op6eU1gtQimMnDRdXKxWdtqvnCbzwcC81jzQkYTmySVMLHbEsA9OHU4EM1RT+uO62iKC8j59a/iyzSf8L7LEcf9sU9Y0bbi/jTf71JYhWUfsYvXozRrYJWM154KF9svodOTojF59/bof6lBntPL7GpD3lW6XKnskKSa+wd1eibFdxzCZ4a0zk9IbJ1RhMLdaXALnNMJeN2Lq+39ZS2EuBaM26VqxSGwrVynz17mddGj9GwdWw1Y4hDSwl5bnqPV+1L3Bo1GY5tWvWIzz12l7dOO+z1a7h2RsOVmI2v3T/Pzds+V548oeNL0JSqlJixysHQpSjAjBXOXRjz6ZV3uJ2s0JtU6R1V8OuJjHjc6WI81B9VOOg6/PqnvsFWOuAL4TMSEaqUrPuBMJgSiyJTFh5TR095KfkesWZwyzhHyw5R7ZJbcQtby9gxjuQhhsla45RRWeGr+xdo1SOalSmePsPVEjqcktVVhiu2ZAzNu7fbjSFXtAfseQ3hXGkx3bTG24erhFOxK3rVFFUt6Y5kRuo6AggYzWxu3mvgVDLcSsp25ZhhXuHLu4/z3IVDdpwBf3D7ElmmstaayNfLVXaWjrHVjL10idfvdMhf96n+3DGXL0z45eAbjGyHQc3lFWubJNe4qt9noFQ5UOoLuPwBrsywtRHPtrrQglvKKsO0wmDq8OzaEX07+bDb98f2TPsq/193/V/ZWpTPZ6Ta41PUAxvzgcle7BOmJr2+BDHrakFYyuy0N3PJMoVBR2j7w9Jht2gQ5zqmltPyZbbWndbouzVGjoNnJMS2zp18hYY2pYlwd4tSIVH0RZp4b+YSZzq+G2OS8en2OyTM/3zeaBlYLgVihG+tRnjGDJOMtWqA3i7YP64RpzLbdawM35cPPsk1RmWFZi1m9IkTPEcaH3e2Yi5aGREmg6mzYCif3QtJrsmOOMeApieGmM+NlCh8SILMCnsR1nX2s2WF6IDv2KskaAxyh35cFS2unqPb8tp+7tKd1mjZE0ltqAjLuX/q8MKF+9hkEp6tz9hePaE3rpLlKm1vImMdRVuMSsLCxFYztpsn7A59wtigUXsIVDurHBYjNb3Ar0pM6DCvEBc67SXRnA/zCg1PbHLr9YCeLmQMR53PkBOLLFNI7ZLafMQ3sh0GpktXqy92+TP981mDDcCtSLXRK0WAYZcprpLQL6rcuV+n6PDhjagf1532r3vFuU5WqLz4TI9/e/gYWzds3txdJZzo1K7XiM5F2FrG/rTOMLK59a5PUSjoV4SCvx/X+eLrj/HU9ik7q0N2/GOi3OCNvXM0H4/ouKe053Dsr+6tcfn8MQ07ki5oqRBikqAzym12B3VGoUnYMni5scs/+PN/y1euPsOd6ioH1AlLk9vaKkWu0KmMeb68JyMi6mzrA7Zqx/x29yMUhYm6UtJyI4oLUtIHU5N9s85m7YSr9QfsxksEicWzTw9xrZRuWmO35zEcmei6zDV1tSBK5AHQdid0tSrNBwbXD1sMfIcwns+TZzqjUMrBy+vDhdA/K9Q5IO8JQCSZf/5n53nqTQft1/ZlronGrWFzwV/2KgnN6pSv3Vul8vU6ya/1MNWMQVmloURsVIZ84fRpwthgsy2c6ACLILcIEot+UWXLHfJi8S5f8nfojl3WavJZnRExzmSiZ7m+a/4Y34jZC30cI+XqUo/9uM5u5LPdFJ7zNkfc0M+xp9alW4/GYFJB10v6nRnnjIIk17hbbXFQ1tkdLxHODJkkKJocbRDqpK1KNRRnGjeOW4S+SUOf4hETJBazP2tw+0X1wxlRCjIk/hG8Hq24Yv7EbVUmPHHlhPvnYj73xH2JoqhmPNUZsm6ditXOdihKheu3G+Tfs2lejfCNKf7PxhxMPG4fNnArKQ0n5lee+CZuMYNC4N3BzGRjZYytZfRxZQivlNhI1GKhKTx3rkdUGOye+NxKWvzOi59ia9zn2mCXqHkJh5SNeEDX8hkpFbrUJSU+c2nrITbpXGifLoiOpp7TqYdkhcrdvk+yrIEDvhET5zrf/vctPvqpHi94+wQXLPpLjjCDvZidpWNuDZsEU0mgb3ox+mcP2WgE2FpG73hlEYu50ZZZpG/EQigcubxw7j4dJeB3jq5g6gWbSyMuPjPiu/WUy2rJwajGXuFh6gXPPT2g4cRkhUovcOi0psS/kPDF/+dxOq0pv975GjeMDl85epwgkjL1tYN1Gq4kA66bp+hGzp24SW/m8mXlEnsnHuHUAOoMxxZ777mYZoHjZLxwqSc7Y2iyp3p4FZuWE+HpM2xS4VIrcGewRKPq0KxPGCZzllPdwlYyrjT7JJlKvy/+4I3qiE46Ymg4JLkqnCpjRoFKpzxlXTvhlekTdE+rIjWtzATHW6p0ZzXenrTZ77uMmhl/62Kf/2DMPvjm/RHeaf9/e5Q0ajPW2hGbxpCNykj8nXMrm0uCr8YySywU/IEwkprFhB39CNdMCKe6kBpzja1pn2YSopYlUSqdXc+coSsFcakvzns2KTYZNiltbUzbCCkKwZvcKM6RaDr+JKJVhLTTUzrBCC+PMcmJ0SVis9QeWgLPZqpIk8e1hCfl6CnhVCdKdZJCw9WkK7r2jnRpW/mYth3SrE5lfGFmtLRwEVERp1IGd5YmuLrYzuKZRhSJFc81U1rWRNIQ1Jwo1nGUFD+fw/FyBV+PadWntFclmTCa6ew/cIWEWAtxDTmKRDMDvzpjq33KeL/C7r6LmwkuZ69XW9gh+yfzRZRYuMxolBGmlhPnOt2xu7A4DgKbgwcOy9+sku7bDAbWvHQXRdYwsBgElUXTqWC+I5fImGlqEiNz7WAirqYCBV+NsQ3hMjtGiqsm+DPJFMwKVQwOimTm6mVBI5kwmFQ46FeFPzUvl+NcZzSz59ggk5mX0bHHmOWHKKKAeQfsL//1N3g90p22ps9oViJe/c46QSAYk/ZaQKEp7D1wufk9nyxTuPaMcIH3D110veDBM5GcgVSd/aiOo6e8/MS+COJznd+KXuD5xn1eCN8hiCXDx9QLNvxTmsqEp8xD7CKlyBQyRcVWU26XLfqzqgRfqSW2mvGqcwnvsQ3+xz/5V8S2ya2La7ytrXHrpMkv+d9hIx+SqSpxaRAq88yfmc5eusS2MeDFyru8iWSrXt04wtNneNqMBhGhYZLYQrpfnwzZ9xoMtQpRpFGU4JDiV2aLUnevV+Pwuy4f+5lDWm5EuzklmBiMTk0GYQVbz/ic9h0aps+eW+eLu1tE8Q62JWd9R0kZTSz29qq4T0mJuLMqiYKqUi5GPm1/gm/PcPWEj/60BGB9Qf0IpPDidpc7R0uoaslnt3YpUIgLnV5Zk+5+rrPpnLBjH7LfbHCQevzuv9tm+dDEGasYnz5l61zAnZ5PnMjiD8YG4cRgsOwwUu1Fml6caGyuBpKKgMZwYtHtVcguqmJHTDwGgU081bjda0AbPp0mOIiRf38k3t2Rby/O+LvdGqORia6VdI8cvhq0aa3EQoasSqXkVjOiwiBV/gojnx/RnfbRMqLmpMSigDiWccNQqxJj4HvJYqh+Ng4JaibB2CCZyZPUVoT6kOTSaIkzXZ7gM2kgFYr8PprquFYqcQ/kRKpBomjYhainIsVckAJdO8XWs/kPL6b07rkGep7jxnNCwswgUGzQwMmFGqEiBnGQsj/AltlqmS2yWGNVl6e7IuaEQn1oyE4QKWKSqESJwYjKwoR+9ho9E0h5xx5zM15ejCp0TXaVWBWCRJKpc41uKkRJSxpibiWlsZzgWOl8TvqQUOGa6SKt72y0dTb+OotKiQrxtoKkqJ/tZmfz77MAskCrMCwqjBJJoU+sh5pfVRG+1GhiMTyx5PyuiwdZV2UHNnUZcQ0nMspqmtEii6coFUmsn9mEkYE1fTiaKxRl4Vg6AwToSgHzv9e2chxHvn/XyWjUZzQ92bGLEsJYtNMNfYpefhhuRlloln/UrkdLrpiL021LyAn5RONO1kRXCjZbAVlTPpDnK+8JkXE1pzeosHxo4qkzOuUprjHjzdkab7/TXNjh2ktzD6VmMApNokgCuJpahF2m3C2bJKXGjiahT4OySm8iKQGbzVMcTbqLHTWgkU149dJlOtGIa7fvYm7kJJnKbtagqUesqycAmGQ45nyxKwW70yVu502edR+g6wU3+is0qjqZpaKapWh8NcgKhciSjKFRbBGOdfonFXY9aaYUhYJpChJm6mc8W33AenbC7w0ukSQqnidluKsn9DSPXl4TXtTqqXSEC21ediq0axPUzXIhWjgTXzhqiu1khLnJncGSZOHqQtzwnYQXZ7vcsVvcTFcXyQZ3Ths0nalgdZhiKiL4DwqL6+k57h77jEKL9mpMt1Ao9mX3THKVK8t9dq0lvvWtJVbOxbiOBGadLdZmZYqp5XzxzQ0cJ6f1tCxaXRdwQVEo9EYOw6GJG+iS8aMnZOpDw4Brie2uZU4W0tPechXTkLnsZjvguXoXc24M6BU1BrZDUdbYKgY42QePfEog03+4nXau2f+BGn1FUX6DuRz4h/n6j3TRnsyEPvjCxQfYZovBieBDR2WFu706l9eO2aiMBBSeVnlrr8VwaFKxCm4Eq9w1GvTGVTmzuimdhpR225VjgWjbba49fkhw3uLOSYN9Q4h8Nw8k6a7xxHTRzdzwTokcg91hnbYXseYGePkUvSx4Q32MG26H6x+/wEY55FfP9XmzXGd/Vmev9GlZE1wSkkzDd2Zc096jZ9To5y43o1WCmckwsATyZimLXany8gBVga9Y29waNIlmOp/9mQOadiQpeqlBUAqWprM8wXdnXJ+c44bSptWcYc4bVOHM4E7SoGe76GrBzrkTNipC4n/l6CIAa/6YwaRCnGpsLUmKAgj76iD1sPWMMDEZnNqEU4Oe7YhbSIHb9VXuJE1uHzbm+TuSe7M/q7FPje3midgPoxq2LhBy104x9YKtpRMOOjXetFdwMoXdB8L5MvWCn/7E4TxTd74DO1Oes+9zN5ccpc987D0a5pQdpQ/nJKJy2xxIBXS+oOlN6a5V8SqCTh3aVQZUGcY2vi1SzI4S4OcRjXTCQU1K5k4tRFcLDlKPKDcWFc3+sMY3317G/ZmnGejuB967paKQ//CKqL80FgRgLlK6+MN+YXjUI5+Zxig0WW+dsu8JgaFRRkSKwMnUCyU+Uw7yOoPYoXdYIUsVIjenH1RQVZvd92r49YSGN6NZmUqkRjGir7r0C5d165TINHilt4FpFLi2yf6BI/a0LW1RevqaRFoORqt4lQSHBL2Usm6QOESpwZ7i81/YN9kZdLnR6jBKbXrjKuaSCN6zQpF5cRKQWBqJpnMjENjaIhtVFdO5rWZstgN0tWA/qtM/qaDrBdvuMZ4S48y7qDAHjRsZnpVwcOKKXLA2wzEz/MqMXiALLE41fCdh3T3FZ4pNxuDUljOylRLGhiid5iVtVgqJ4yw5Ick00UGnGmFkiAUxU+kXLsO4QjjVCSdi+3Mr6QKE1qhKVEl/XKHpxvIQM1MyPWddH6G6Jd1zVUZjOd5EU51OK+LK8pBB7BDNZ9uePmMzPmLPlHSA59z7ErQ1HbHvLDGoOnhljF1mtHWLwlUW8+msVAk1i7AwiRJDMLlqhlMm+OmUVhjg+KlYJq2JGFUiV3TGucATBiOb9e/ZXF9dXkRl/sBLgfyDd9ofJhbk7N//WtDyR7po217Ey4/fE3JeIhGPmaLNSyC4fm+Ffa/Gmi9PxqeeGC3gZC+0DogKg/6wQsuPaXsTCasqamSWiseMjhpwN12mO3HZ26/ywkf7fLbxPa6syE77/GyPkVHhQPO5NW3RD515NzLDL6YEmogdfqm8SVCtcFdt8pV0i1cbT/D3Jt+gUBR2V1YIFYsQQd10T6v8Tu3jrJuntJQQ15azeXsp4mqjx+XsAXfVFbpZjf2By9ULfZ4zDuD8RYaRzfWTVdZrAZvGUJpQubiHBqc23V6F7ccDOg3x6Q7GFd7+zjI7F0/ZWj3lcrXPIHe4cdSiXxNXk1+bSfynE3H3fp3D77oEE3ORiGcahbirUjn3f+bJPbrTGr3AkTgSS2abz3vv8bJ3ly+dbBOnOp9s7ROWJsO0QsOQdHh3JaFthGxnfd6urNFPqrw1Ps8gtBmeWlx+fEjLiRZNq/2x7Hy6WvCsf4hNym29ze7pEgdHLmHDwlYz+laNflqlN3L4qvG4dMgzgzsPfHb3XNbOR3SaFlstjyCVjvyt3jKO5ZG0NDL9PHFNZ3/oEUQmt+4tEYY6wanBtY8O5lnA0rAaNzPqtZSZ+sE6xhI+7Ez7Hx0LoijKy2VZvjo34PzQ1yMd+VhlhqskdAOXZD7WcAqxuzlOThAaHPRFk9qwpjTmGJckUxdmbdeRpgogovXUIMxNkvIhqTHJNCoPRATuFrPFkN3OU7wspllOpDQM7EVuzFB1CBWLWDEwiwy7SPGIZWeKHApFwU1mbI8P6WQCHLfNbCG9TAqNEIt2dUK7Ns/pocDOU2kWFaI+ahhT2kkgHKZ5LqyuFJhzKqOqlnIWTFWyTHYEz0qIU30RneHaKQ1LIicdNSWZ66BFTZVjG5Lf6tcSjFbCWZaugMALydYxUxxDzre+JZrvLFcFOjAnUDqFdGYdU8ZlnjKjYUxpKSEtJaRpRNikYq0s9LlUVHAxh/crorfWBTcr4yCxCRalIvm8wN10mWAqDaFB5tAtPXa1JoOpmCfiTNjEcaYxCkzqBxajUzkv22S4WoLviAUwy4VCmRSiVz6z30WRTlEo2JWcVm1KxxnjVRJcJyVyc5p+jKF9MKy8VBQyXfuBvz7k+ov5uRa+X6M/nEuDP87DM+9/9PVoU/OKDJ2ct7/doL0a025MaSUBmaXSbk65eduncmSw+ZEhDilqteTtYJW9A5fNhicBVEsiiD8Dn6kKC3+pqT/sju78RYXe1QpFSyEszAX5wJ9FNOIJn4+eYW+/yvMfORIRx/QcbSvEU2eMDGEH+aXIJMPYZL+1zFbe59p3vsfe+Rb7jSZNZ42sUNl0ThhmFfbjOs/b+wSGzRcH20RLBpmqMkgdwtRka3nEJsesnx7jNITg0KmOaeshfjGdL2SLcCo7fqORsOaN8fQZN/aXSVKN1krMei1gXR/h5VOGmlQLTSuipU8YWI6ERmsJT7WPWWuE811FZIWek+CaslDPEu+bekSrNuFL/U2KscVW3SDQxDDg6A/LdpsUW0nZTAbYeYpr+wwVh1vlKt2oRpKrXFvq0htXee4rLuE1A9uTZtUwsrn7rstaZ7rAqR6UPq/cXMdzUxw749bR8oLeEUbiGDpLS8gKlf6hxce/ZXF9KSNqTemkIzAATxLfz+a1qlqimwX7eY14puE42QIq8Lz7Hp3sFL22TlYo7DerXG4N6KkfIq7gQ3faD7r+0liQ+S7rI2fcxg/7xR9tI0p1uDldZWcroDeocOeexx8vP008ZyM1GgmJm5GgMyir/NE3Nue4FNGeBljsPvBwnQzXTtlYCihQuN1rkDQ0bFfGLaae8+1nZ9SAm7QXBvJb1XOYSCxINhYG0X7f5am1Ez5pv0ug2KI51lwJx6IQPrEv45WeU+ftS5tsHB5x7fguv/vEc8SZjssMVRcMi5vPGGkV7ux6XD1n4CUxniNpcZ42I1F09uvLUtbl6mJ8EqkGvUmV/qkkyYEEfMW57DS9wwqOk7FxPuIgrDEybYqqQlCIg0VVSuJS5yt/cQ7bznn+sr6QSr7w9CG6WjCYVAhjg+HYZjf3cOyMzcYp/UhIid2eSAXvLDXYXhrS0CKCxCJKdAZ2layUmalpyjn9tfHjdJwxl9UesaMTZiYNItq1CX/+1IzHMpVe4i74yrYtKKCiVPijoydRlZLLj8uxoCgUgqkpohJ/wn5eI4o1WrZULfvDGp3zU775nxY8tiZh07tGU6yaY0l3t42MMDNx9YSmHs2BewWbjdNFL6Nfuoz0ChQSImbbOR19jFV8sLiiVBRS7YfrHn9QLMj8z/7LH+oLz69HumgnqUFvXGW9MWYwsun3DW70VhbzTs8Vh0iBwiBxqH3do7uRUDsXzxsIKsMTiXK0TUGQJKXG4MTCsVJ8y57b0ErG6zE1YHe8JJkuas5+4cuskWIuYC8ZnliwBhvRMXeqq0SYBNjo5NgI7lQ1SyJM+oZK6FlsHB7RuX+Muj2fpyI7BwqYpah8lJ6UjGaeyXxZS3DVhAyVgemSTL6/UZWgE8bStNlYGX+fGSBKDaZjHdvOcW0RTYwmFm3bJSm1xegpLnXOX68S1Qp6axMOuhW0von30RmmmjOMJBIzmBgMji1cN6PpxnSPq+ztV+fjpoLeiUOnFqLOA5/DWI4gUWYQJBZNT0ZsN+81sC9mtJUA35KNwikSPGPG8YUZFwqFILGw9UyaWa6k9RWFws13fFrNGS9evD/P3TUWcaa+FdM3K6iqia9LUFg002nUH/KhHSOjm3v0pi6DcYWGG4v/ODVxtLnyTc9RKyU79hEZGmFpMsqEsOHps/mDJMdnil58WHn8oY2ov7Hr0SqizIRrK11UpWT7mWN4RkquBF2iMWbOgtHr6gnpz57wU+cDOrWQ1+90UJWSF57p06xE+HosXd7MYPvCKb0Thz+++xg7F09xzIzti2OiWOP63WW2LgT4Z5iXzGA0tRiNZfG71Yw7D3z+cfVn4VS8oFeafZJCox9XCRPhHt/ShVC45gTc3m5hXsp5qdwlrhjcyZu0tTGNMqKr1xkWFeo7YlzYdVcWVISklO61kyc85R6RobJenjA3pvDiuQNGLYmIPOMPN3Qp0YPnBOUaxoZY//SU7lRGLhvuiDA3CRKL8SdH6HqJaeR85hMHNK2IILUYTB12H3hsnT/lSueI7jl3nrg3ZfPiCe4TCQeJR5BIKdsyJXzbt+XmbuoRe5nP/sBlvXqKp83YuSCNwtetTYHYqSl3lSZRZrDzRMDaUohniuHe1Ape3O5yENSIZjp/76fuoCIhYbYmZ/AXavtEmNyctOjUJ6wvjQWoV+h4ToLvJIIOOhN1ZJacx8/JSCsudN6636ZvVtiveESJxIScgRH2By4bK2M8c0Zc6Nh6xtb5gAFVIt38kLv3J1RcUZSKaIHnO52qlDSVCQEq/bi6MKJHpTHPrM0l22bskiSq5JZqwkayFSkJTS2n7U4WhnLHzObNlowsl50jTjRC1Vg0flpuJOdhVSIyzpRAulYK4WE+nD9jA7tmKol2uYxP4kInLE1auolOzpZ2TIjJgeKLj5YSzxXBxlB1ZDZYqhJXARSKskgLaOkGdpliF+kiTOvsHAcPrWaianrYJzwjVaiU+GpMXDzMYD27t844UpFqYOsZ66shjpGR5BqNSixKrkQ6to6aLj4T10rFTGE1CU7EiH6W+2sa8vOfvT9xptPDXWT/nu2McaIRzEyyQmU4tqVpp+UL+IGjCqWyn1QXQeCiNHtIXixKhaYyodAUhr4oxs4CsxwtZcc6IkYImWdqre3Vk4XDKJnnJ53l5sYzEXucNTWTXGM0sejVXRI+eBctFch+yPL4UV+PdNFGqc7N4xX8yozdvkcU6/zqU9cZ5A7/9588xuOXxqythHRnNaLUoCjhW19fYeO2TfHpE1wnFelioVFoIorXlYKWEvKUrZKsCAljlNoEUxO/mtBpTNjv1xgGFsWKwpXlPp9M3uErnSfoTmsLXMuaGRCXIk53FLmhGs6Udikg9D8ud3CNhI4SkGgaMQavh4+x4w74x3/yBf7nn/9F/uj2Fn975w6umtCqT0kKjYO8Ti925wIFsceFqsUb9zsEExMuwqY+pJOOuK2uEmSWKJpKZRGYLFK9EseQnWb/VDJsW94UV09olWNiTScxNHxXwOhZrtKPpBJp2hFb1SGfsw95Lb/Ije4Kz1/oys70TgvP9XBtmevapvhj75w0eLW/LpLQakrc1HG0lPXGmOGsQr8Q5Ewyx86ceYpfXHmPJNe4d6dG77AiD81YRddL7preIlli9JiA4vuhQ8OJ0dWC3bwhnWu1oB86RDOdX0tex5tOaa+O+Vr+GG/tr+I5CZdXBvzGn/4xb3zkEq81tokxaCkhvzz6Cw78BnfsVd4oLxBnGlv6MXq1oFeTBmOc6bh6Qn9c4d6fN4k/oTHJPmROy1+rEfVIr0cbdamWOKbgU1r+lKJQaOYhaPDxa0fzp7E4ZsLEpPugQn1jSvp0QGvOBbr9nk92XkGvFdiqNJ72C1/4v6nJunOKZ8y4865wp7xaKjmp1RnPr9xHpeQte51RbBNnGrfuLdFenmK288VoyCNmRIW92AcbGkrEmhOQlSq7eQNfi7GRkc1+XOd/+vn/nI38mH924cv8YXqF7sTlYFCl5UZ0tIBGdUpUGuxP60SWQUvTWVsKKXyFlj4hQeO23aY3E1HDcCIzYNvMuB00iOK5u8eR983Uc5q1GFvPGMwcvpxt41uSiXTnXQ/PS3l++5CDkcvBkcvOeRgqFW5mLZJ5B/nm0QqqWrK+GopO20gZ6LKb7Y3qOGbKsxsD9odiHB9lUrb3xw47zTlNIvTpuCEdc4yJNNS6qcRzXHwyWHyvb91q0m7FvPB4lyC1iDOdflzFM2d8snmPG5M2t48avNTZx2WGqefcMiRO86v+E6h+yd1kWT7fprihgsziN3/2c/QLl25UW1QJ1/1ztMwJbcZEqVBMblTaQgkZCBYos9U548pgvJLyqc4Jp3r6gffuX6cR9aivRzqnff94plGJabsT3GxGKxvzbOuQpjOVWeO8nCmHBp1WxPObPXxXzjHdB2IRi/KHEO3utMbeqM6dno+OqH+LJDFiAAAgAElEQVTKexVO71ek62qltNyI7bwvA/2wOe+KGpzccdl/UGU4q4hZmxIb+QB74yqDzGFEhaYmsRi9qTR/bOTn6EcOv/utp2nOQv6z//MVotxgt+fRP7JRKWnnAevFCU1FrGLDpEJQWrTtkHVHlEwZsiOfLdiDwyr9kU0YG9x5p8bR2z7Hd6scdB36owq6KmdRW8sYTS3euLnCYCogN2O3wmhk0rHHxIlOt1dhNLU4OHH5ypvnGAQVXCtl74FLdyANp7YjeNQzjnNvWMHUCracIe16hFdJiHOdYGYympj4WkxHFeRNy5jwbHLAc9E9LiddeR8LhbVmyPbSkO36UCIz6zHX1Pe4WunyVO2I0VQsezvJIUWpcHBYxUTsl5vxgJYxwTZyrofneOP0AtcPVohSnZYzwTNnRKnB57/3NF95d53dozoHJy63Hyzxr17Z5K3DthBIUp1gYrJ3UufgyGU0EttmlOgMxhWSVKXZTNh0TrA/xJon4gr1B/76m7we6U5rqDmukRCmJmuVAE+d8aX0SUxy1tRTbkfL3L1fZ+eZAWY158lrVRwrozepMhxb2GbOL790FxAyQj8RcPcgrNAf2fSPbG40WuhqSXkhpqqXmGbBxlKAb8T8fnAFz0pYd0756v4Fekc2q08HOHYmOt1MxzFSQtvEVHKurXS5FaxwI1yh7UW0KyGfce6wOT6iMQmJzpm0rZBnlw55pdzhlV/Z4e8Pv8ruVov/7lufw9RyNsJj/qD6UaLU4BdXvouXT3HTGTfNDnEp7qRmGbLBMUNL8mm3L5yyXg/YMY54qVOhn1b5F//mElU7Z6M1ZsMd4WsxUWlg1nPsyznr7qk4oSKVpGdya9Sk6U1pPBPPfbM6WaqQ5VLibV84FfYTCqYiVcYbt1qMRgZr56X5ZZLjWzGFqbBuSQXjGBktJcQuxSV0/WSVt4s26/UAT5vxrPmAm9Eqf/TaY7zwnM56PeDapT6jqcVv3v4pGp7olBtOzDC2+aejT9KqR1zb7vP7t3cIJwZBoNNejWktTdlaFg19tiRwvNHMxrdieYheSBdghYY5nY/7BG5+O16hN6xQFAovtt8jahn01l08Y4ZKycHEQ62XuBcSrmbv8eUPMQzw19MeP9LrEVvz5ott7OCb8+F+IdGLB9QZTSyiSKOXuOiKzOuiVCeaySjAtR92U8/GQpmiSpZrnYW6qShh/fxkkWFzlgKXZBqqXeKpM/zqjCxXaC9FMg9NNUaRSaTrtO33caVyVXS+jljpCl2h6/j0K96CZeWrMftxne6py0u+T6aonL9yikrJHW+VXihU/cCyQINCUUnQiEudHjV8ZQqquIXOxjeCx7EECqAlXNgK8arpIgYzKefKJUVGJFEuzbvpsyG1+ftgz100wcwUMf/FEL8qCim/Mls0u7JSlETNxgxdn6uyMo1+LqHMotiSFIR2JWREBZTKQoU0mli4VkpmqmBIg6exLH9PnOsLwUQ80+bg9IKGPwUq9I5s/OoMsyJm/SRRyU8NkkayaEiZak6zMiVMTcJ5R9jWZOR3dp1Fj6w1QpJcpTt253ZFIVMmpbZoUC2sj/N4lX2j8aHd4xL53H4Ur0d7pp0Dur7xRovBkzbrrTEvLu2zly7xf3z5SSq1DNvO+cN//zhrnSm/dOl73Axa9E4cttsj8dKWGhvqCWvJCdetNaLCYKOS01EC2ukprylbBJnF5cePFk2cuBQ/607jmIYmzaVPr7xDtqJik3FQ1HnrsM1+z6UoFD6zcpcQi7dG54hTHb8q9P8wM3lbOc8r315net3jwktHtOqRRD2Oq+wfVvnVdz7LUxdP+e3GF/gd5Xl+47VP0V6NMY2C2+9dptWY0qpNcQ0pOW++18CrpjRrUzrVkE51zP7Y43a/wVdPztNpTmi6Mb/+5H8gUGzupE36s+pDCJwmLpvX7l6g26vwz178EzJF4838wkLSNxzbtP2I/7p1nVvKKnsTn05lLNLCxCHILKLc4Fee+CYRBl98b5uDgcvd+3X8WkKjFrNuGzSVCRvakM8/eIb+SYXnL0q4WDw3RwSJxSvXL7B5Ycx/+4kb7Kd1BlOH2wc+rpPx/KVDCe0qFK5q99mvLvGm3iKa6YwMi2ubhySFRve0iqqAqQsb2tFSnrUfcJ1z7B3V6OZVmvWYq60udpmilwVfGD9NNDN4ub3L2+MOX/vmMi9dfUDDnvK13nmGgU1/YLH9eLAwSySaLOL/4ZWfxuz5H3zzKgrZT+JOC9Cwpzzz3ICWN8W3YmIMTDXnIx8ZEsU6Wa6weWGGqRe8fdLG1MRr2x87DNSKkORrGa4+Wyh0ukmNA9XDVM8tRiSv3tsQwcXcBWOr4h8NFYn+uD45xzCyF5m0a77srlmuig543rFVlRJUWHMCMdUrOZ9+ep/RE/ZCN5yVKltLJ2wtnSxGEr+nXaOhTfmNn32LW3GLOJO5YMOY0tQiepl0lJ99bICrJ3j6jFFmE2UiIjH1gvZyhK6VhDODr2gXSXKNcGbgV2aSoD73yA4TSZQrVuG3+1fFEmhLdzSIhNwwnFh8UXmScCaa3LO0Od+IF3bFu/mycIMLhY3WmE51THdSk7MrIREGezTYWApoe0JRtPWMjUaAp8sc/PJFcQVdH7fFcuiE7Fk1dE3GQ6ZWoBsFfcUlKgzWVicimgmFG6UqJa4t1YSqiFc2K1VupS2CxMJzUuFymSnd0pPPR2HBOL4ZrRLODNY6kUDYc5WmGwvI4NR4H1s6I8k0eqcOP3Wtz42VD5YxlkD+kwh2KwFfj3nuXE92QaUkKTVMJedK+0jkeROLnZUhQWLxxu1Vrlw8ZrN2yt1enSjW8aoS89g0J4uy52DkLmIsPvlkF4B7X1tm7Ge0z8U0n45EWJ9rhEgZdP3dJvv7DnYlZ3tzzAsX7lPUBVNilhm6kn/fvLStjXFI0cl5quzhqDPettcJCotRZrNtDljPTsgMlV2tyT//+hV+/afe4le/8af87x97aUE4bBQRfhIRGo8BsG0NRHlVJrzFGsFM4hhtM8MxsvnxQOe1b3bQ9QK3muGtJxKkrWYEWHTHrqTImzmHv7POoJPyzN/qst9z6fctnroUMBpbvHV9mebKDN8Tm12jNmO9eUpSaiSlxt64ThiLTnvdPeX58h6vOfKw8POIkbbM3tRn0xEy453psuQlGZNF6py6JOfFm/cavHRJ9NC2KWaIJFexdTHP93Np6LW9iIMTl1Fooq+Kbtg100Upayo5Salx+6gh1kRHkEW6UtBLXCnt5+Z+VSm5dV+Af2vNkN6JQ6CaPHu+T9+sUJloCyKGredEicFgZPPLl2/T1SI+6CqB7Cdx0Walyiiz0RUpNYtS4dP294hUg9tlC9+eYWpznEmpMBya3DaXGC7ZNOsx5rJEZSSFxt1seSEwWPNDMk8+vN2h6FA/9Yvv0h9X6A6q8rpSZc0OGGU2+1GdKxvHbK+NuPHOMsNA5qZrSyHtSsj2+JDQtDDdnF61RpBZ3JyuAnK+ahhTHCNdhE5lhcpaNuLq/T1+/7Fr3Jkuo+sFb4wvkHzsZdrFmETV+K1vXOXnLh/wGfW7uEoCGvTyGp42o1Dm5zdNCI9nvGDPSkSO9z7rWJgYmJpN2wpF5pjokrag59z7aESzORPj92MFnRWTljclmd+s250Ra07AjSMpS9886rC5NGLNCLgxXSGaGbTqEaPU5k1jfQFt+7J7iX7o0D128C6K4XwUW5iOyD0bTIgx+OruJUaBSRjq3DxsclCtMRgJ09qu5wxCyR/uOVUaTsxWdYitZ4xq1kLquaUf8+ZkjTs9n/UNabC5tuyurpHIfH5O1Rxl9vd9DoCA6rwT9g4F3rbWcNDVkuWdkOGpKSmHfow5zz7ulKcYxYfjZsqfxEVbzoFbZ4wjFAnPipFUuDAxiRKd0JRsHdOUnFPHyqSky/VFeXO2U4M0Ps7mbvA+xpImcr4oNRip8rA4IxeIOqrEqYguNklVhpG4a3bdFWJVp1t4CxrgKJbZqW/FYgMsWDhKVKUk0Gz2misUKNK4MYWDNCwcUQ5hsHUhwNFSBnqVoLREA6vNFiqqM4TLWVloaxlJIWfXtXYkmut5lmuYmESG/LxtL1oQD5vNGU4lE2qiKbY+R0/FrlY3Fo2ss4dAUSgkuUakS+mYpNJYcoxMHDTvez+zOVFxlNhiQo8NXNMgtnRCLApk1GObFXpUFppyx84W8SJJNp8523IvnLGnXFNsgiolQxypeOa4GVG+SYK7o6UL9RdIA+os9kRXxXYIEOYmpiFzetdMyAoFr2oQxfL/2kaObYo+eaBUmWkffOv/xO60CuXCNrZpDFEp+fzeZbJcwXMS7uzVmRxaPP70KbaZ89QTI144d5+dss8//PqnKO9ViJ2CS8+e8Ox58ZIGpcXNew2Ov11j5y2H8//o2zSsKf/ij5+kdi5m88KY7qjK3bjOO9/xOL854drWIW/eXWV0anBl+2TOKir5s1fX+H/Je98YOfLzzu9T/6urq6t7enp6ms3m7OzsLJciKWq1pjfrPXkh6HSyLNiKYigOYgQ+IxdcckCQHIIEBwQIcAgOOCAvLgcEuAQXxzEuzkFw8sJRBEWQZJ1OkdcSTe0xFE2NuLOzs7PDZrOnp6enurq6uv7mxdNdK9vapSxjIQsqYF6QHM70TFf9fs/veb7fz3fnTyv8g+e2sUON9tsGj3/pjJ1LU/Jcoe3NuWKfSC7QclSjKgWxovP58RVu/2mLf/iLf0TLnnG/vk7PnbKlTvid1z/EbuecP/of/h7/+j//Vf6R/rc4OqnRbsz5R8r/g29XGFTqjHVHsmzUmG5xzu5syDfdXcZZhf/k0j5qIdCAL8+f5eCkjj83udI65T9Ub/G16mX2ztfZuThldG7zr75yiV/+5Td52TlijENU6LTMkAfnTe6cbNCoLcod6Tj0+OaoV0pBH3+5i/PrR/xK5XuErmT0vGK+yZ2NLqNzm72+pPMFoXT2VwTJViXkXx78r9x95in++ebLdKwAW0lpOx5BYjKZSxPKNDJ6jSlBbPLF+09zuTeh505pE3CQN/lfPv9BPvTiCTcvDt6RgOrSLW6pM7462GE8la/VqC1oVhe0llD6tCkxLLfvt3jlQwO2nHNuFH327Q3CuEdvfYZjJGxXlllPmcHv/H8f5NGZ98T7d1UN/XW73teH1lIzPG3BUVgnsMSNcbM3wE8sjs5EeZNVMp6/dALAvf46d043ObDX8LwU9YbPTtenVxNm8TCR0rfbCnFupry9G2LNBFb+1Ad80SrrOR1PGhzd9RnNSkTXmtKsN0SbrEsp7s8Nqr2IN5sJH7v5CIDJ3EILTfyZiVeNcYyEdh4QqJbQFJfYzRSVZiViZyvAyyIiVayA8nArdNeFPPGH/8Vn8K0Kn7Xu8S33KdJC5YHawc4T3HRBrGr4qVgQI0Mncg06hU9bm3I3vyC85UJGFb1mIEIVJeOoItk6+tJAr2s5F68J5NzHEjZSKpWMruZsb0pKvKnl+KmFZy5wWzHHfo00Uzl+YSrldZEzWYhyDFMQPbsXznFNGcccjOpiJjfickf8+rVr3Lc77B02SdtqOT+NUo3x1MKfSabvtj1hYtg8MOpSEegLRlSZJDZFNWMytTiwG1xpnMrum1Q4Dj0eJE0Btren7NbG5YRgZSxYySmbazF+ZNJXa9hOm2EiLqaV4SDMhWEdpgYfee4RX6k/oRGlKKTqX09F1I/00K7occs//shJ8FYhs77DkcekatGoLPiVyvcYVmocndUwzRzXTXnRfhsfm1vRJrffbrE417n2oTO21qd81D1AL0RUfpx7xJnG9to5divFfjrla29sEUY6L+4+Jkp1goXBlnNOUw1pVOdLl6xCa0lqMLWcYGEwOrfZ6s5ouhG/ZfwJZpYR1k3+pfNhXnujRbO2wNETWnEAJviqjZys5MFsmSH2hRQvicgNiZDMC4UYja2aj59Y/MP0E/xG/S6/+f9+A/vllCNjjT026akTdsIRsaHhxxaTucXIdBhYLr+mfBcvnvO56XXCSMKhL2+ese2K6ECl4ADp+upqTjA3sM2MG1unOFrCOHc4nNTxQxN/ZnClN2Grei4z7lzFjy16jk9HmzKObPJc4fnnTulaU9RMwsDChU5aV2kw53LtlK4iPuawLkaElesG4AvaVQ6GDe7dr2ObKXlddqco0RmfWwSBjmnm7OSnjLQqjt2VvF0lYZCIjNPzEia+QRTXebHZl8RATWdv2OTeXoNXbg7YqZ3xyfA+oW7hGzZ72uYPPLQJ7TWYzCz8udj+Vmd6z1hIcFhck3jOxODT7ve4kwfvec9L9/indKf9c/S4d6XM/bArUnQGiYttptxYH7KtnhFgkaJyZWNMnGgM8gpDatJZbM7xqoJT6TRCupUpV/1HxJpOqJt4uvhEt40z/EJCmpu1Ba16xOXKKfdnGzx4u85HW4dsp2NGukuAyaSo8EJjQNpQuXfeZjB2ePydBuG1KY6VkldUJqbFnrGJPzVL5M3hpM7nqs+jx7K6rxpbt44v8PzFIVfMEw5Zx8dmqzmVeJBkXXyoC5P7Bw3uNLtcvfYMV08e0quM+eLadUaKS1Q1OA48htMKUazTdkNu2g/ZY5PQMmnmAnaLU/GCeuqCQeKWJnmQs/3hUZXOZkT30rSEi/dPHY4fOjz9LZfBb8Zc94bcPW+TF7C95kugNYI1HYwrTM5N8mcVWBdETZ4r3Mm6pbsqRyFCZ+gLFD6ualyvDTFJ+b3713DslE/94vFSnKKVYo6XnnvMaCZySyeLsVULz4mF9aXUGM0dhn6FsxOLzYtzGrWYV096tKpznnceEXc0gR/UzskLhd9WXmLLOmdLEWviMKry6p9uouuC1l2Fc6+03LqWczzzOMzr3Hl9nd1LUz7WOaQZzZ78ZCgK2U/xTvuD9LgnJsH/YKh0dUsCf20jo6FGNNMZY71ahiWtGhdhYSxb+QpuJVmGTCmEucHEEqdGqqqlpUsnF+jbvIprixAiKnSC2MD3DfzCJtCsMuYxyIRuYJISZ2IjcwKNMJTxysDyCBSL/ahJnGo4lVSaMAudYeEIM0l/p9sYRmLZc4sFY8UhKKQzvlLprIz57ZbY1o7q62xPRqhFQZuAFFGFrRRAgIxS0il3tS7DpIpjCPZl9RDEhVZ24FepAaYmPOk0U8p8Wl3LcewM08zRE3kAV6byVQMnLyR5Ic3kTDt7bOH3TKJCbgdVLSR4W9UIFWlmxWgEcwO3Io2tVeSKVxVgersyW9I5NOJMk6OFNSubhpEqEk7HTErwm2MkuHaCZuVlTpIY4zNUp6ChR/S8pX0zN9h/XEftFDSceal48n2jxMvoeo65/Fj9jsJY0gfDUCfNFWwSAt16YulbQGnp++t2PTGf9i9Lj/vBUOn6h68VcaaxVfexSUgVVcjuyjI4ayajgklqEyQm919v8NKNIVfqp3zuTy7zatjmVq/D5QsTdqpiHlcp2E/WuXXU4eG3m/zb/+738LQFv3/3Mr4vxIf/895lWo2I5y+IuT1ITPxUBOuDM4coUjlvJyRnBnuRxz9PXmB8bpHc8Xjqbw24cXHEnbc3MA2F3lpQdnY7TGnqIdGOzpY+wc5TIsVglDjcO2qy2z1nuxYyWjhsuef818lXuKf2+EbxDF9f26WjB/xn3/kyRxc2uNfusVUVHvEksugYAdvjEa/WtxnNHXZrY2w1xSTjIFrjMKozmlboNma8VJPjxCSz2d6akWYKr759kU9uH3AjeYiznXDc9bjV7rDlzekvagRzKbXjXGOcVghUUyx9qSpWyA8rbKtn7FnCbWoYEfvna9z5/jovXj0Rh9HYorG14LJ7KiC4Iuaf1v5vjmrrfFN5ujzPPhg3sfWUnnbOQHUJIpvXvB5qXtBzpwSpzM4/rd9ntFEl/IBOo7rAs2LCxMDUMo6zOg0t4qo15JvnTzGYOBw/ciRLqS3ddsdI6HQiXCeh5clIxzFSthw5DhxNPJl/Wwk3r41oVBb0c4/X4i4nefUJd/JP75n2B+lxB/wISfA/eGlKjmvEuNoyx1XVyRWFCIPx3C5N66Yi1IZGIyZcGBzPPbqbojnurs0EtJ2Z5Tluyzhn0HIZPF1hGFbxdYtGLcaxM/KNSFb/Siy7ufJnsSKqIqYCrZ6w0YxxnZTe+oxmbcGxlUm2bK5JI8pM8cyFlIlqWgZxdc0pk6LCiCpdfFJjRUcsSkh4lOsM3AYqBVvahEFeI0bjwVaXXFHoBWNue5eWRMNMVFl5zq52iuvFpchgmFWXntOCtjenXZkJgE6BXJMgqzxXSmJlrEi052RhE0Zy0zl6Urqm0lyVUUaOuJ3GJtEvnvNSIyRCJ4p14kQrwQDqkju8wuHEqYafWdJEU216lTOOjDXu9Ns0qwtRgTliG9yLNzg4qTOZmnz8gogZjrK6GOAVifmIkWpn1RMoZ7NaRJCb9LPaMmpkTvMDEaYmUZ+2Ia6rrU3B75pL8UScajQt0YivKrk0k3EVUIIJfnAO/sMu0R7/FO60RVG89ufocX+GMvekL64tAdWOmkgjQ5EVNip0Rr44MhwnLa15rcZC+ERRne2WT8OK6BgBfmYxSWyGoUPDXrCrnBB4Jv7TJsensmJ21kIRamhyQ6xGKSnqO+BuxSijRTwvZfuCJNltOecAXGnqjBYCLm+5Ea4Z09QlEkMnJ0IXh1Ix4VvxFg9O1vi7F/rYWiIzYi0rDfVharBX2aSdB1yJBoS2lJ+3W9vshCOu9B8KVTDT8CyJgFSLgqtBny3D5sBqMaBGP5Sb1tZTITBqMxpJSK4vS9wlTtU2l8A4zWQQugzOJVaDLXC1mFYtIs2XYdS5Rq4oZPdd6sAvfvZt2vZMjhLRkoqo5JhajuNkpb0SIIo1xnGlxKf27Al78Qbf/eMNNp8L6KyHXN8YMUls7hxv8OANj2yh0rs2IVVUHmTrOFoigdWFSojBeGIRJypxotFsR3j6gk7hcyu5xN2HLXY3z+k4ATv6mH7ucRx6OJpITFdS0jA1GEyqMk5cxqauJgVprjL2RXmmqpJ08OcX879w7yuQ/Jhz2neLBVn+/c7y315bhrb/pa8nnml/CD3uR06CNxQ5y4aFwXFeL3NjJ7GIGnYvnuNZMUdhXbJ11sQ76egJdwcbHGU1Dp06bTekac4ZKRVGswp/UFxjOHUYjCvoWoHrJLSdsNQG33nUxp8ZHDclKS5Oxbmjazk3Lz0mSE2OzmocD6scJDUOm165Kq9W4GBu0KjGOOsJd/ptBqMK/9HPfReHhIHiMZhVOX5c5fP1q7hGzMs74i199aQHQNOJBBuqNnjNuMj9YYs0U/A3LA6cdb757DP0OGerPqFfeBxndf6n+kd4yTiiFQe0symppjI0q0wWNn5kcjxx2V2fsKudcDvtcXTu8fev3WKgePzB68+Sbyi42YKmNafVCfl07wHjwsHPLK54I5GAhl4pePl7f/uP0ckY5i5tNaBVzNjZOCdMBA/jmjFeNWZ/2MA0Ml6+9hgQEsQokHT6UaVK25jxS588fOccmUkgdmctJN+Rc3Nf9YjRiVKdjhXQVXy60wlqpeDGM6e0KnOahiyQUaHzjfnTsnh60TKhwCbSDTxVyvMo14kKHU9f4CcWhyOP6xdGpQc6WBiMpxbbG1N6tSkfbb/FKHPYO1uXmf3MesLdK7P5H/N6t4btrwO/XxTFf6coyldYEhr/stf7bhhYXWFmECSy0waxRDXYuvhtDyciRWxU5IF1NUGoSFyiKbayZbkGlGjQPFdIkfLQ0d4phVe2sOFZ5Z3vH2kSdbgs1V07oZ850siopEs1VV4+vNFCIzI1yTedmoxG5jsNpCUgPYpUxjMb1S3oWAHjRUVsa3ZSNpmCQrqcK3HApGGXiNeWOSvh6kFhMgwdooaUcWYufCxpRkkjKYrFLrhCzI58m07NJ7U0wkhu4ljRhBapxuzGJ9w3LzDKnbJ8Xu08saLRyyeYeSos5aXxYgUaXzVhVBUmUxNdz9lam5Yd4jjRSNWCaCmjalkhUa6XGmKg5HDlecE4d0rdsE6OXUhloSLaY1dfHmfISVHxFya6KvyqaMk4zlmm5rEkV6JId7tQiBaaOKC0BWOtUspCV1LHJjNiTWbawUwnT9+79P0rGgZ+aMN2FRuy7BG99uN+8feXEZUbHC4a9Cy//CWucmlGY0tuCMdiPJVVL4gMQlfHNRO21qfyApci/nFSEVKgHeHoCX7NYlK3uPNgnWih0XpK8Kp+ZnGlM8Zfs7h3uIZjZzS9iOuXZthayvFcdhpTy2k3I5r1mMubZyVkbRxXROuri1AjynSef3rECzsF46xCqqn0igmOKWXwC+2BUAnDpqiEvHn58w/wxH9rSuBznEpntWMF7Coj7qXCaL5sjdjRx1xujPCyObGqvxNruYSRBaHBja0Ru5UxremUViVkUHH4knqFcVAhilSOZnV0NydMpBu/Z24yzmXksnp9YbI8t6Yq/yz9eWxTWMi+ZnGkNJaCC4Wm5TAKK4zPTaJII00VvvjoElu9kKsXxzIqKyDITUaxIxmyiJ/5emdEmBrs9+v0H1VI5hq91jr2qlxFJVIM7no9RlQZjKqMNJFB3lgbYisp1xsnpe93FDvlgtxPavRnLtu18xJOp6vSfd4/W8OzYy67p7Qtg6ZT5d7b69wNmwyeruJZMdu1cyYXLabme5fH8MTu8Xtl+Tzp+veKovgHP+Ln/oXrfX1os1zGICoFu8YpuaHw5eAZTF20tSAhzc3aomwmrLSzK1Kjpy/wU4sgkXGHoyds62fcT9v0x1XRmjopYWEQZgbjuPKOmdpYjRJSSWzXEo7SuihnTp3SNH14KuWxY4ltT1Uok87DRBaRVWSkSsFYcRgHNtMzieQ0SRmHy7xaPVuWjjm9YkJfrUsezhJm1rN8WsoMNxOspx9bTMwKl4sTnh8dcbC2QaDZ6IUI81r9i7QAACAASURBVD1jQaceEtgiH4wKnUg36OoSFTqcV5mEFqaZ07TndBWfUeEwihwO47oESBsxwVxKVsdYme517n5PAqTND+Y0KouSO6UqCpN4KbJIxSyf5wr7b7iMJyZ9t0qaqThWSkedopoFR1aNKBaxQ9uYicHf9nCcjFgv6LoiZjie1ohzjUjTmRQV+osah49cOq05rdqc/aCJZy64bj0mUnSJKkUSG+7EHeIlxC4vZJQVZCKm+PM7q6MmdO0pfa9KmlU4PnXZagVcrpzi2glP6jEVKKTKe3aP3yvL510btoqifBb4x4qi7DxJnPRu1/uqiM5zhSgVhOoLwRGfGN7HNlPcSsL1zgjHSolijZ43ZacxYac2oWtPaekhri7uji11IqLxZYJ4jsKV6LF0J7/v0WpE9JoBfmoxWjgM/CphIjM5MR9IPk1LD2kpMwkznlqc3m7gBwZ5Dq/dbXLr37S49d0NRlMbVSkIQkmMW1nXTDWjocwxyThO6/RPHNp9Ew9JwBucOcSphmvGjH2LIDK5et6nwZwwNejaU67YJ9xMjtiOT3Ey6VL7kckwrtJMZvyNz/8xXhzhqzZmnuEWC5ranB1XvLtBbOBnFoFus5OeclM/ZnDuMJzY2FZGz/C5PJdz5/GZy3e+1JMFScnx59Jkcg0JoXaslGduVfnAH3ocPKwxCmyiTF9WGAI6D+ZS+vZaAdubPkq+dGId1AkX8rmXFyKaabkR9hJnu12M6enntLyI5tqC1vqCK8YJPcMninU5j2JwMFtjb9Ak+46HPzOw9Yw7B+s8OFmjk/q0ihkNJHB8FNh89dtdHhw3ZEFFwqf7Mzm/6ppA0dN8GTWqLNhRT+k1AlqNiMOjqqjl8jO8ZWjae12FIt3jd/t4wrVq2H6WZSyIoigfX05i/mPgf+YJwqT3ut53WPmuO2aYVfmic428omAG8svdP10jL6BZW3DZHpGj8iBaZxIJgG137QxbTwXTkuv4c5Px1CKIDF69+DTE8MqLj7n7epNju8p/8OEhbWPGtjPh/nmLKNG53j0lykR0cfvsArpa0Kv67G6ek/+CQqMao2s5W1shrUbEjc4Je6N19o4b0mWsLXihPRDdaq4tk+Nz6SgbOVmiEGJgk9JwRcs6iSzcity8rzaeQSfnZvUhB2mTcbLO2HBoqTPaeUCzmKN7Oa4es6dt8r/97U9z8+hNnp8f8gfXfo5jpcFh1Ci5SCu3k50m9K06vmLzSu9thnGVuw9b6GSohcwwe2sB3ickG6ihRew0z2WHy/RSsLH4d07Q7JTPbB/TUae084A/iK/iz3V2mgKBNw1hQatKwdO7Uxw7o+XNORq69MdVJnWHEVWOxy6mkYk2OVsw0D2Ohi7DE2k6rjjDjpXQM3x20xOiquzMx9ccbDPDj0xeeGaEoyfcVi9xFNQ5Hrs0axIY9lsf2yt3WFMR7vJlb8xg4XKU1Oh4M0w142C2RqcS4GkLrlces1M548qG6JbvK5s4eoJlvLc1r0Ah+TFxM+8VC8KP2Xz6wet93Wl1clxFdpT+vMbBVBAfaa4yGFfKcipfNniiVCeMjWXY8bKLi7XkDiGJaAudUSIqqbYbEgQ647GJQ0yTkK7io6uFpM3pQnuIUw1/buLPTUw1wzMXtOvzciTguQmN6oKmPicvIFwKEWxTtNNpoRIk0ohSKTCRN1xPwC9Ek9xwlhT8ZT6NqhSMC4cYITkGqclkYTNYuEyKCpGqY6tp2YAJsNgzOphJSufxGW62EOVXIpJIfyHhY6aS4aQLIsVgXDj0lHM6ZsAP9kxUClwjZrdxJjGViiwMqyZTmksjrbcxY3tjSlf16WQ+rVj6CGmmyufraUmgCBPROHtOTNtZHm3mOqEq8PA0Wy4qaiECGqSZF87kI0V2R1PLcYhx04iOMqVjBzTXFhIfsmRSO3oilVNgMxhVSs7ytnZGSw/LWTiApy4EKB/rZUqDH5kEqUmEXka4dIwAV4vLo1aWP3kGW6C868dP8npfd9oYjUlu09TnNPU5KSq3Bhc4HlaZ3/Ho9xY0Ggmv3f8wzWbMzWeG3GgNaagRKgWT3Obrj7aWBIMY1xY5YduYMU4rTOa25MWYog12i4VEW1ZC4kxlb7wuEr9M5aVun5Y6Y5i7og2emxz1qwSBzu7TU46GNe48WKfZiOm2Q+kA5wq3xl323mowGll0PhbQ0CKiQieca2xONL75sMdO65xX6od8fbLNa99bp7UuBMKr+YDbXOJbb3flvGvKgpEWKoEizTdbFdqhWyzwsohvPvMcjUuX+Dv/+//F91++wj995uN847DH4KTCR64P6Ko+z795yNeuP8etx11ebL5FbGqMz01CTBGwoGBrKbv6qSSnpxLBsuoJDKcVjodVHDvDt02+mT9Fr+rTtX0C/x2P8mRucf/1BsbbFmak4q+lPP38hBc2BHEbLsRXaysp17unYkAoKKWqvc0Zw6FF9dTALwRaZ2oZw8LFtDNeHu3TabT5VqVLqzanaUfsnTTxKjGfWntA98KU3fUar+5fYHDqoO4UckSYm3S8ENeI0Y2cwzOPt15dZ+tXp7i6lL7D0GGy2GL/UZ0g1Om05nQbM67URvzRf/8hnPuV97p1xU/73mfan9j1vj60Sa7Rj2plrIOqFESxfMvJekpFL0hTpTSW54WCn4raZhXH4ZhiWk9z0fOaWlYmA5haRqu5kGS2pXgj1VXihWBG/NDENlOablR2H20lRVekRAeZy4aRXv551biazCxMPaPpRhL5kctr05WcphriVDJiu6BuZphqJmV8ohNMdVw3ldFGIcjSINSxLaWMkgSpIPzMWkoG59iKjEAmeoVQMzm90sWvOnTUKY69NO5nGj42xxvrEo2h5YSaSYyGaSzHXaqKpy3KRWysOGLsXzZp/HglMpDKBXRGU5s4UxnbciM7VoqfyKLSWl/weGSgJyqxJfCAwcJdihfy8shQapozlZFSZZJLWew4GcHy/wAMpw5Na06gm9xr9jhS1xj7lpyH1WL5HuekSAPTVqVETzMZNQElGAAoKRfZxQWmJiVzpyq9C1PJGFYrZU6vqUlzb9hLUN/7mQWUUgH31+16Xx/aKNHYe7RGmqq01+Y4ZlJqYJ95doofGESRSnsjwq3IjX507klH2RXJWrcWMI4q+HOTZjUqafN5IbvJTsdHV3ORwyElkR9bRInsPr12wpbry+vBwFUW2Jq8Y7YtgvvJuVmmEzSqC1wrYe/NOl5NYjG221PidZVxVEFXc64oQxq1mJN6xgdrMxp6JCKG0KQy0wgCkebpRS5SvUQ6nrpWlEqgUeownFdl99MkPbChzBkpVWJF5wsv/Bx6kbGTjGi5lxhVbYKFwXHs8a3NZ4gyHc+OGWkufmHjOlIypopGR5mik9NIQo6NRukKSnOFcWCTZiq2mRGEOnEi8/DDhy5RpHHz2gjPjhkEVVS14HJvgj81OK3kePWEaKGxN2iSZmLucIqYWNHewaYmGkdJQ8wDiUZzLcZ1Uw5GdeJUY3hq03LneNUFr/qX6I+rPHzLIU0VoqZOpxHimQt87DLArOEuym6+Y6R41jvWQJOMrhtw4zlpsplqxmVrhEOCmy8INwz6tiuTCWOBy4JLL51yf+PJsPLsp1HG+Fe9albMC5eGDGZVrjdOZNRhShpe25rRn9fwFya79TMaWkSLGXuVDQ79OqYmI4yb+jH39A735hvcf3sN10n52FNvcRx5HJ3VsA3pdj6Yr8u4YikScO2Erc2Z0PJzkScCbDnnDOdV9g9rXN7xaVxaMDhzcCsJW2tTQaOOXNqtiJYX0bEDRqpDEJtsVYVfdC/vEEY6k1bKdmWCQ8xt/yItb4730UcEkYFjpdzRL+IUCZ+4dkSYGrLrZmaJmvHMBXGuMYhccktKV4cEk4xvqk+Xc8od94zLHzilv5AIjjtpl4Ye0a7N6BceQWbSXZvhsiBVVO4uOqWKqlOb0TTnNDTB5hyZdVpWSEOL+PJbT5MXCh/ZOmYQufTPq3Rc2aVWMkXXiPmVm4eoiMn/4KzB7e+u43kJqaeyt9lmFDvcO17Hq8Z4FZF+5oj7yHUSbDPjo70jRonDl06fEtxNbjCaVhifW9hzlYYXs93yGc0ksaBhOPTnNQa+Q8uNZJfUJNTLVLJSVjnKxCfcrEYSBUIVx6jTtOZ09amM2MyQ/WmTMDMY6DVe3Brw6EkmeBTSJ4R0/aSu9zcJnoyuOSVITJpKSDub0rKErNdTz4ktWUnb2owmMzqxz8isMjIl3dxRE7wsKlm7o1NrWdJJM2vVsMoLhUGi41qSeG7rKboqIntblxV1MreWYvI5YawTzjS8SkynOhPPqh3LXO/cJQgNtjtTkU+qc0LNINY0XE04zMOoSl5A0pAcIJ2cSWjRroU0az7HQQ2AQezSMkO29AkjtSpd8NSSm08V+mNaqJLVqpuMNQcPCZgezN0ydvOVzhHd4pzYFNJFf+bSqEd4RIwyRwwOltyEkWowCioMJlWOHznYV1K69pQGc2JFwzctuppPJ59im5fIC4UddYxZETyrZ8jXWamxTFVCmB1iYWc5NvFCJY5lhx7FDv1zl4NDl+tXJkJfVFKhSyRaSRNpMSNe5r3GmSqNolhEG6lRYJvyUEaxRpyqTCo249BmOK7Qrs0FQK/m5eKxWpz9xHonxGvpTXashNRVMZ2MlhZiKkszRaYRZCZNfY6lPAHsBj/xhtO7Xe/rQ6sVOSYZk7nFrbyHraelaGKsVnjtrTaHR1XuXlpne3PKJ9f28Yh43n2EQ8KECr89vMnem3Wy1x3cawGOnfHlg20a1Zidtk9/UmXsi8LqUz/3Fr+x+A53apfo5x4HwVqZFZQXkipwHAiT9yM/PxSTea7x4ka/PPOqaoGu5/xK6wHNdIaZpDhGzECvce+8LZ5MPaO7HtKqRwxzVxo/ptj3XC1my/X/jJpnWFQ5GAsSVlWhXQ/pugF+bJWsJT+2+PrpFg1HMDdbzjkj3eHBbI075x36To3PpN/lyG7y+fwKd8/amFqLl+pvE2GwP2+yF23wQGlJXGc7Ybc9wdEFjHZQNIUxrMWMC4chLvtHHqpaMOjWyvO1py3kPdNt/IXF8aTGoVnHMVJ23TE9x+c3Pr7P3f4GQagTxCaHj1x+4f+oM/1vhPwYFQKDOzp2sO0MXS/43emNsm9wOKjRN6oCMPAi1KcnhLHO3uMmw7Fd9hkAnErK7QcbOJWUjzzb597jFnf+dI2d7Zlwr5wFYWzghyaDE5s0Vem0RX22YlSBgNAxRU5776TFWWS/571bwM/mmTZRpHu8ahys5oNhYnA8c/EDAV3nuUIQGexn66V0zFETgswU10YtYfLMnHZTBviqIvM+kGZKXsDOpSm2mjKo1BkUNQmgXo2UDAXXSpbNCLF2pUrBJLTwVTHIq0pRrtheNWE/W6ehV2kzZYxDkJl4lpAz2saMu2mb45MqcVs4zo6REmU6/UhKWFtLhYuU2YwTcTSpqlgN286MjhGUxnlXi9GtHHMto2FEAnpTfBw7IWiY+JHJUeJxsKQ/vtjs8yBcx1+I2CQqdAbTKtuNc1pGKCW4UuCqsSiocr006K/olHEu9EtVLYQnnKuYWsYgFqi6oyX4WExmJsyWNI9MFb6TIUl3tiW8ZP+CyYObdS4gPmkM0Tg7TkYYauS5wlZ3Vo7x2mtzPFuM81Gmc+xLZaKqBdsXAnQtx7US4kwtaY6OndLU57S9Od1uhVY9wqvEtJ0ZQ6XKJDAl5kQr6DSETCEsMPENCyxBqpuxbxMnT95FfypN8H/Va5aZHM89GcH8AKfWn5vcvrOOV09otRY0ahLb8PWDSzLjVCm7iV4lptcIBAu6fOhX0sZxVCEIDWwr41O9ffzC5suLyxwM60tXz9KjacgNoiu56JNjq0yrCwKdcHvZqMlU2vWQTj3kc996lkY94aXdgcDOEo2XW8d0i3Ounz3knvo3mX57jfjZh6LesiIOJ3WOh1VMI6e3EfBrfJd9e0NKYjPDtRNerh/RLEKa8QzMHn5m0VTneGpEi4DmYoaTxNhJzMBt4NYWfGH6LIcPXeL0A3yk8zb/6b0/5Levv8KtpEeEmPDvv9HghZcGvLx4kz17E52crWTMntHhMJVm1MqdE6cacaLSrC9QVXgwWqPlyqjs1mGHPFf41OUDhkqV0djC9w3ihcqb0yb1KwEvXX4s+Ty1BS8Vb9Ht+Hz91zImM4u9QZOrnVNxbW2GfO9+g8apzvWPjlApODyvc7P1iN18hJPFHNpNXnurjesIxeIjG2/jEWGSMsBjmFRlETFTthnjejHdD0xxtARbSengc7+6Sf+sypXNMU1zTkebEhQW47TCQdogzJVSimqrKeOJiRY9iVzxM9o9Lr+JktO05jhKgklKr1LBfTkWsYCW8Yp7SIzGvcUmx36NkW+XD6qpZgxCl8NT6Sq363M+0jzkviGfe/2pMapS8OrZpXIkNBxLd/gz1/bJkVHNaieVeEmbwanDC7sjPHPB1+71sC0xVLcdkVDubIkzJi1U0eTaBUFhcqg06TfrpGMV7cYUU83wM4s7xxu4lYTdi+eECzHr37UvivDCiEg9wcG0ctkFhkaNw6jBeG5zrHvsumO6xYTjyhqBYzEsXJkHJwa765OySbYfNvnd6x+hm/v8evUuX44u48cWN54d01RCUlWln3kMF1V+/+QqvWZAuzIrd1KvEpfxJ9+400HXCz7z8wcl4aNZWxCnKq+NOkSJRns94hMfehtHS9gbrxOnKkdnojP2nBg3XaDrIpNU1QLHSOlYAZGhk66r2M+LgGXHGMu90BBU0H1lk1RTmSzs8oG1jZS7000Rhthj+nGNo3OJAklzhdtJr1SHAXJGZwNHS/jk9gH9uCZS1tylZYdsGRM6GwFhYXB/0pJgMi3nhedGfHvtvRtR8DO60yqKUA/iXEpIlwWNYo6rxKSeWvprrwRLeFvFZGLZDPMKDTPC0+QXe7jU+oahhq4VNGuzsjxu2aLOefDoAs3agnYtJE5UVLVgh1N8xSZS9TJ1YHW2nUwM2pUZPf2cL4RPSTyFlUiTSJFQ6pVscOU0inKdoDCl+ZGptNeFARVlQh60zaxkSakKHMYN2RFUgW6bqmQGharBmCr+wip9nU17TqiaMuMsKjyYrssbpOZsOeJoGc0qjEObW1mPX6vc4/LZgC/VnpPPqfu4xKiF8JQGfpXvfncN98WEreo56KBmBamu4hqijopjFcjp6ecMshrjqIJrx0SJzvFJFcdOabgxV8wTmnmIvp5zNKuzPxArZZ4rpKokAq4iXGwzxVVEHuqaMfaaAA48IlLkKOBnliBeE1OiQ5YTAF0t6E+qOJZFywwF/DaRUljNCwazagkxX9kb41xjyz5nOx8zVKqEicFg4mC2MwEw5FNiReM+LakwUo3txnnZoHy3qwCS4mdwp11T5nSsgP/xix9k40JEay3iMzuvExYGe5N1Rn6FMNLYb6+JUTl9g+OKx8B2ylJ2HL/jnc1zhcGJzT+rvkTPm/LiRp8vvrFDnKh86rk32VbGbM9PiZ/5t+ifVbmXd8SpkxnljPUTtdd5rXKRO99d40vffQrPTXj+yrg8Y90/WRf1jVrQ25hxxT7hX9y/zvybTT7462/StCNJro8Mjh85BGGP3saMv//h2/zuGzd4+I+vsPg7fZq1BYNJC8cS08LgzCFONL5ldeVsrWc83x5yvR5zHHnsn67xhTe3+a2X7nM1H7BTO2WsOBwmaxzPBR27VffL7unvngm26+v/+p/Q7zb5b6/+KlvRmCuP+9x7qsvVzpDfvvo5HrgXOFbWsJWEsVXlq/Mdtpw5O+op/+XfnKKS0y4CBohpYKXRXZEfHCPlcwdXMY2cz176HqabkbZVDgYexydVfs95AX9iEi00uusJLWdOP60xiW32hw3CSM606ZZKEBvsvdXgxctDdqtjQlOcWX1cEaZEBk03Ii8UvtXvMvYtJucmo7FFd3POb23fwcdmXDjcGlwgzVReufg2/UWNV8969BpTXDNmMFpH13IanQ2a+hyHmI+uSTUXYfD513c58Z+kiPrJyxXf7XqfA7jEiWEuFNKl6dghFqdErpQmacdIxfZWyMoZhEaJ7ww0yVrV9RxVVdH1As+OJY2OGY1qLD7czCDWddSiWMZFpHS0KSkaE1ViLUDEByoFTjWjWV/QrImYwjFkR7SNTMzylaQ039tWxqmbEUTmUrUjO6/rpiJOWDKVdK0gquZoijTXxr6FvpbTrGY4tqzscaKS55Q7N0hwchCJ0GSS2Yz1KjGa6JqXqXwrKkeca4yjpXLJTPE9h8iUtPY41xh5NSa5TaxqHK+vMzEdImW5K6GhKlL2xejy5+W5LS1U8dlmmmTqLrvkTXtO4ImLxkYQL6oi8St5wZJ2qMr7s2w0ldZIPUOtyN+tbH+2JaMlP7OE+Jhr6Oo7/y9KpHlom5lElpwZePXkL9xbcfpOuJapStmvIvdPGGpE8VLrjPC3fGwhdi7jQ7QnuHzkd/IzOKddKDrjuELRSGm3InrrM7bjU8ZGFcfsYBtyA3y09iZOHhMqJsOpw3G/Quu5JcDMgHGlgmNXCEOdhhfzSfcBdp6gpzkvbT5kELvcGbSJNzWcSkzsCy/3Eyf38e0KB+4GY9shxOS4qBOkJlu9GR9/+i16yjm3o4sSX6LG7DQmdFwRJJhKRojJ5c4E55UUPzTwQwNVle71zgWf/ql4S/ezdYk6+cQZV72IONV4+JZDqxGxVT3HMxdEmc5oJg+cqhQcTBrCV+4LuH2rF3I09RgZDmEi0sM8V7i8NqapzRmlDqO5w+29Fp/+uTe5rg/4Fy/9IioFO/kpfaPB3lqHuydtgsjgq2yzY57T1eTsLakEOUFm0lc87p62RarZCKVcDXXGkWBkJjOTdi1k1zjlRmuAWaSYeQYqRKmG5yS4laScDISmXlItPF08vL016Us4WsIL6kMm1Qo8JeSS+6ctRuc2jp2y0zoXtG2iMRhXcCspz3eHHD12eeqBzfQXYkw947holMkCq1FOmBu0jRk79TH7yTqjeYXFqUncjnDUhE7hoxc5X/e3mYQWwdxge2PKw+p7J8EXQPazuNOqFJLF6gnislUJidUlEkXNmczlbDjyqniqhkmGayZ0L8y5E14Q2Zkm4xjXSQhCebMesFEmqw+nVdJcYXvdx1QyjpUG/bMq0ULj6889R4rKpKgwSWxypCFykK3x8NtNPr/QaDUiJlMLx04ZrTmlA+bWcJOmt+Clbp+Dkzr7b7p85uVDHC0RxtRErGetRkTDkbP3eGqxeL3KoBHTrC34pVeOcQxxrISpCPGvNoXVFGU6ri6SRmH1ys9+vToU0QTVd25QFIZptcyO/ZUXDtGVnKNijU9P7jKuVPmaeZlPzr7Hlf5DomdlR2loEQ4CJk9RJfws1cQgrviMvYpIR/MGaSFS0xVUv1GNCWKDO8oFTFWED1vGhGFSZTyVWapjpdyoP2aUOoRxawkQKP4Mdubo3CPPFXY6Y8Y4HJ+5bK/7tLwz4qZW8rpMPcerxOX5Nsp0Oushh39Dxa0sXVVKjq2kNNSIrfVpqUUepxX6eU0anpWIjadntOqSwxspBjYJu94ZsSu774Nxk3n8pAAuhexn8UyrIFRE285xTGnGxGjESAkUp6qE/+YWqALANrWMhhtzeOrhWCm7a2fl+cq25M07nnul20MUMCk7NYnNGKeCSAkCnfvb7SX4/B3d8FUjlWiR71kc5XXearhoVo7nSQmma3KeO71TZ/zUnOc7OqMzC+uhRc/yaRIy1h36mos/FeWUu0TPhHOd1iMDP5As2BveYyaZzXAhxnxbz9jSJoSYTFSbprq0uNWM0lSxnZ3SjGfY9hqxohNpOofpGpPYZjyz6DUCntf73M83GcZVuuMz0pbGcerRDs557tU9Lu98gECz2IrGhJpFqJlEik6gWGX56eURTWNOkAkuJs5EIbYqcV07JowNxoFd5uW467GUtKksNLqas1WcoeoFpt4sy3ixUkqXdzwVVM644zBJbca+xdXNhC1N3q+BVuNeuE6zJrGnrpmUDaaGs+DyU3nJ+tJZluhkElC+1FQHqck4sulWA1w9prM+x6sssb1o6GR01Cmo8jXupa1lE+49rgKy4mdwp40KnaOgThSp3Lq/wV27ye6HTwWbGdpEsfgww8xgktjsDZuEkYjYm96CYG7wpbefQtcFC7O1Kal1e4/WaNfn7DTPGc1lt9g7W6fpRCKT1IRt7OmLZcqdRj9xiRKTe9YmupqT/NYjLmnF8lwtqJlWVeRyeaHgv2DQ9BZ4msRbjC+dcxg1GOkOXX3KzdYjrjZHHEwbTCJLxglGTv9mwCvPnNKwIo5jr5xNH5+6mHrO865OWAiBIi5EBO/HFsHCYDKziC7qeNaCo1kdz1zQNaccBR7Dc4dOQ4LF7uebDOYiiHj1qWfxNRszyvha5wMc/PttANrJlK4/4W7rEvtqiyAzmSQ2fmhyNKuTO0L5j3ONycIW4kOhAO+wkyS9QC3zc4dxFc9Y8MmdNxkmVTmbKjaj1KE/cvB6cq48OK2ja7JzmrrA8j7//V0cO+XyxXPSXOUwWytBbp965oB7520OT2p8fOct0kLlVv+CLBRWwkgV9ZJJyqioMlxUOfaFtGk2xQjQsQJGiUOU6rRqgr+Nc41j6phKRocpEyocx57s6PaTTPD8td1p39dXVaCIzjTQmT22ePywwoQKfiE3TxRLZ3G8qODHMvqIFppkyxRKiQRZsYptQ0zZ4VxQJ21TZp5xqtGoLPAMIRtKRERBkJnlWGl1OVqCZ4p8bkVe9Jy4/P8rOWMpf1tqVKNEk9T2XKOBwNuCzCRKpGRvViJUtWA+1UXJs5x7hqlERwahwWRq0k89RqlTMq9WTOM4VRmc2OXuscKR6uRLMMAP/D3iKx0FNm66wMllVwkxmegOuaLi6EzuqwAAIABJREFUpDE7Dx/jZmIUWI2u4kRybaNcx9ViGoZotfNCVGnympbg9SWdP1wuKKsrRykpGBMqBKlZ2ifjXJpA4cJYwsNV8lwhjGQsFCzke+iK6K5X8ShpLm4oT5HcIqB0DQGShphPaShzbC0tF9uGHpVg91VsjGMImXP1OuNCQxAGhYhMEp3iibuoUoat/bCPn+T1vj60KgVpplI5stl6YLFz3+YgWuNgtsbhcZUglJ323lGT47HLlbYM4LM3K2IfMzK2u1O2O2KPWwHX4kSlVZlzPX/EJLSYBCYvV4+4bjymq/i0G3NcJ2X/tMFg7soNu9xNn1f67Fhn2EbKZGoyGAnlsWWHtIyQKNMZzKr0H0lsiYOU6n/ynXf4UVeCRwxily/9my0GYwddy/mY+Qa6lvPiV1weHDc4OqsxmlWYzC38yGQyMeg/qvCNN3rc7W/QP6+KAV6b0bXlZ1u8XsXVY7bVM65WT9g2zvCIBBB+ZhHGOrqS09V8BmcO919v8PLr3+eFx28RZ1IGupk4fRpRyIXPfVsyhCjYUid0zEDQsImck68oQ64zoFfxyXOFg7drYnnUJXKj7YTsNM85fuSwty+A8CjTeTBd52BU53Dk8WC2zmRhS2UUmcLoinT8wKA/chhPLIKZjmNLN/ju99ckDlSVJL5JarM3bTEObHStoJdP6BUTXDshSjT6Sxh9y53z0sN9bs7kfW5V57Sqc17Ij3HVmH1/DUdL6FpTPGNRJgmszAXNNMRDOtj9kUP0REUUJLn6rh8/yev9zadVUnYaE25vrXN6OadRj7lhD4Rk/wGD4URkiFcuTXAMKcHazTnpNYXtli+l6jKVfRKahAsBsW11AsmM0doMTsWLmS9lZzGy69qbKVfrI4LMFCK9kaKrOUfqGveDDb76apfWxoJmI6ZjB2WpNlnYDCcVXFd29UFeI4o1CrVgqzlFV3I+X/kgalbw0Rt9+udi7j5Um6SZyuBp6Sq7VsK9t5rsXjzncn2McyMlSrRS/2xqYtz3C4thXEXXcuofnNLWZ3jZnJEmIoujtIHnxOw+5dOpiW1ukNeEb/VUQd9qMnGqtO0ZW+kZW9NTvtF8lttr2+j/1WcYVWtczx9xpK0RZCatRsTu2hnX9QF96uJRKhQ67gzzuQxzeaafRNIkjFON3oXwnZR3LcFbxn+EicFkLtyusW+x1Q5kfGYlkhOUqxw9dklTjd6G0BibdXE5RRi01JmM9XRTYj3Q+UbyNCAuLtFrC486SjVudXcYa1WGxdIBleh8VXu2DLruz2XR2X9cp1GN2Wr4pTl/z9gEYMs+J7xkMKy8t7gCfkZdPmaR0jEC2hsLeu0ZndqMncWIUDMZNypE8SZBaNCtTnHUhDCXOA5dLehUgtKdEyYG4cJgdGZhGjnbGwLNPorqjMcC0o6XDKIQU4iDZsHl4oQDfZ29cJ22K3iSYVrlYOjxoW+6vPHLQoZsqKJ1jdEJY1E3uVUhJkwSm2ihoWoFLSskLxRefavLC5eG3KgMCOIt8gIGyZLMcDHhF2py9h6dWlzuyS7n1JPyXLmaueaFiP0nkcgsexsz0d0WmXR7U5ujcw/XSmhWpHEUFxrDhaQFunbMSKsR6QZNfU5rFtDyfcZrYnA4Xq9zI++zFYzZr28Q5SI97Onn7M5OeLDURTeNuXhujYhxUhGrYCS2wDDS2d708axYsKhagqMk5JaCr1o88NfwZwb+1EDtFHjmgoYljaQo1RmawmTuVGfLpD/52SN02gRlhIupi3nh3qPWck77zkOlL00ee6pk0oaZPLB+aPLapI1jp7i2KMbChc7e9z16l+Y0qxGOkZArCsexJyl86jnbVf3PpCD+sKsolB97R31CLMiPnO/8btePkk/7d4HbCCn9q3+Zb5oqGkEuZ7dgbjBSK9xrdVHJMYuMGxtDrrQ09s/W6HlTfj27w9dql7kdXuDBWZNGZcH16lC0s2tqqa7xIxPdyfGsBTevjUhzlYOkiavFuKo0ICaRxe/MPkyjumB37Yx7j0XG9tnt76FuFXz9NzWuL8c1o8wR764S4VoJrbUFtpnSciMBraubVE8N9sby8H90+232p01eO21jGjltb86uccqo4+DvivoqL8A0RZN7v9pm/3SN8dTi8KhKo5GIpnf7TRrMGZkOdwce83+1zjd+I2andsb9Uau0MbbssDRJjCKHB31RGjl2hrsu/ls/s7hV3eZetUs/qtEwIl5KDjk213hQb/NyeMDEdPg95XkJ2lYUXsneAAXMOOUL2jW+8No2n725z649Zk9r4RkLWkbI3rRFXij8xvQ2X167yj/5yofpdCJMI+Po7Sq6Lpk/aSYAvAf/P3lvHyNHft75feq9urq6uqen2dMcDoezs+Qsl0tR1Ipa0+u1JOjWsk7n+EWQ5ZdzXg45HILg4BgGcr4LAiM5HJBLkATJ4XwILoZjJLnkLDiOslZ8OnlvT5L31qs1TVMUxaVmZ0fD2eGw2dPT09NdXV3vlT+e7uL6ol2ubSxkQD+AADnk9Ax7qur3/J7n+/187zdEnGFltBemrC2NSg35S6+d5OL5CisLPi+PV1AVaFZDWtUpndqEjuXjZyav3j05I5toXN7wWasd8/HgDfqWS9fwCGqGlMfOPv2iKsmAsezYF84fk2Yqd+41ePbx+ywbY1wieoXLi0frqErxyBuyAPJH6y/eab1TLMifKd/5nda7fuczbut2URTXkRv2bwEvFkXx28B7IqTPGwYgipdhbjMsKtIkKh7qgdNCJVZ1mcM5UQkK72cSJ+EYCY6doWsFo8AUtnGh4pgptpHSm1ZLKoSu5KU5ft7Q8afSCEpRsdWUldYEU8/KpkyQGwxysfPFiUqzGtG0RQLnVRN8LytfMy40wkQrG2nz5ZkRnda0DLpqt0JsQzJm41SVYCtdroR5puy8qZHnCmakiEE/M/4UN+vfbnzM7YxppjCyK/iGTZjrDPIK3aJGkBhix1OlUdRLqviGJWddOyJFpW+5mHmKmacEmiWWw5awtFQK2Xl1ySOah5qBjEwcJ529r+B5CY1GQrMR03RCgRCYMp7TtRzHTGjYUZmUBzOqZvIwC3eeEuBoiVwHuTZTjimzLCaZVw+sKoFm/qn3I0V+fqPIEnCCkaKq8v6G0YwzNRsT5YVCEBnCsn4EjbEAslx9x1+PWB+ZYVThT+c4v9PH/0zrUTvtjwB/PLt5h7yHUOm3LyPPaCoBrpPO1DMp/dghzHR6Y4dRYBDGGmdPjsgLhRfNDRqEXPHucStYYhDYfPnbZ1g/OWKtdszygsFgYnHnzTphRyvDm9NM5dZ2k0uPK6w1joRy4ORcqPcFaxI59AcWvq+zHTcx1YwVb8ztB4sMxybeWixji6Mqe11pUnzy7A4tZYJXhGycOEK9XLBWP8ZPTb78+hlajZC1pbE0dQrknGmEXFnusuvXgYKPru+VZvimGwqh8fQRYSrd1WEqZoYw1XHslM2npjxhCnju4sIBw9RmZ1hnGNkS1KwLmeP8cs7uQM7a191VYnQGfgVfEx+tPzvjveKuMZhWGEUmL9hP4SkRlypd+kWVr+XrPG3dI1cUXg1XOW8c8KsrX+EV5TG6qcsF/QE+FoPCKcdgX1s4h07Gf/xDN9mJGviJSWNddvq8ULhoPqCRT2muTiXpMLZLSkdTm5I7Chc2jrFNOfZc7eyTFipbY4kUyVG41u3gTw3SVB5wrpuyd1ClP7LZX3BpVkIaRkg/kFJ4d3COwciif2jxqY+8RdOa8uoDGXs5TlaGkPvIze7aMfuDKkn66NL3fYwF+Qut93KmvTaLvPx95MZ91/X2JPgTp5uoFIx8g7XWiBVnxKo6lAZM1eba0Ul2e6LyaRghF9QHDHAYFhLt4dkxz53blxjDqctu3yWMNDpteZrPxy1prtDwxOo3KBwBWWs5o0xQJI6e0GpG2LY87ff8GtdeP0GjHtOoxaxWjslRaFUCgvAk+90Ke1OP3FbwFNH0ztm7tpZKiHFNFF7zEnZOfpize+NcY/OoyYo3ZtU8Rq1KuvpgKh3oZjXEVuUGnY9BPC8pETRb4yZBLCL6881DlrURMTrd1GXvyBWuc0XS2E0yVpxRGVEyDFcE4hZXaBghq/YxrhKRo9IvqqxzyGo64IaxwqiwaZsTeplLVz+Hp0iTabdYIC600qTvqAlr6YAt/QTXhgJ+T3OFG/02fqAzPDZRrxSsGwN2gzphqhOmGqoiem3Pk/J+r+vIjq4VbI4XSXMxqucFOIYEe+W5gq7n5U47T5tf94Zl9WFqObFWEKcK7iwJfrtfL6Wfcy10mOv4miU5TIVK2wlo2iH3rf+/nvntq3hbxMg7rD9PLMifKd/5ndajHjdvfrdvZvb77/pFi6L4p0VRXCmK4kpjUdr1o7GQ8lbUY84HXS75e1wJ7wrqcqas8bSIs5MeJhmDRAQTrhFzRd+TJ6tv0+1VGB6bND0hWMSpWjZMGq4IKYapLXI3NWUYyw5lqhleVW5QXcnpHTuc/r2GfF92QkcZs6YMuGD0aNRkRrh/XKUfO+SKNML8wChLb7ciO17LCOhYPp4uumI/MRnFVgkG37rnEWY67WJM25jgGVEZbuwYSRl67Yeys8wfKmmhsv3AY69fxQ8MWlrAWjqgSYBKwd4DyWG1jQy7SPDykI46Zi0fsJ4elkFXQSINqvP5A84mfdrFmEFSYTUc8Pz1b0pOTiKJB4Okwss7p4TiyJS90BP6RybmjaYSsDo+JEfh+rdbDANhbt3+tsfxHzU49S8bbB816GY19oaSj+uHoqjqjyUpcBRZjO/bBFMxGWw/8Nh54DEKBCTvxzPmsiql9xz941YSmk7Imn5EU5uWM2ddlRvbtROWmxP2HlS5s+WRvy1bK81VgkIynuJco2UEnLUHVNRHd4/nD43v9usR67vGgvzbH3/kN/AO61E77fyLrAP/NdKQes+h0qFmsJ/Jm/jF187wZfM0z39wT0zTsYWtpzx9usfOsM4oMgnrOnEq87ObO4vkOeyfcrm02OMXOje5fuIUW0cLvP7FFWo/cMSzZ++XooyWLXSMIDXoBVXiTH14JswVbr6+QJoqfG79dVbPDNn/L+7z0hunuX57kcaHJQAsTHVx5ug5QWTQ9avc1pe4dqdF5ZrH/pkBppYRRIaAuVF46RunaLdC/u7qy3xNX+fV3ZMMXfmeGrWYnu/wUvY4g0ACrbr9CkHg4fs6v/Sj32CFIa1ai9ubdX7k15ps/7cxF5cPxUM6IzZsThfZZJHbd6WMXG4HfOuPF3GPNX75p/+AWNV5VVvlTn5CzoSZxkZ9wM8e/zEv8QRfnD7JM+5eKTZ4ydpg84eW+O9+6zegYvIffvpv0rF8Ljzeo5vVGGLzdGUft4hws4gvRU+wnS6wUenhEvHMkwd4ZkSOQrMZc+mZLj/r3SRUDYZKha9MTuNVYy4v9WhpATYJe1kdW085tTFm45SERKvth50eWxUfs7cQsp96/O9f3aDZjGktRDimyFtjNFbzI55OfP65dpk0tzjbHrI3dLm13eQXPvw6TQJ++60n6Q9tBkcmTWPKheIBPxbf4o7X4UvjDfzI4Dh593zaouDP3T1+RCzIX7iEflQS/Hf74n+mLzq3sA0GJmFoEKRiExsENiveuMyLnTej5hmmtinWrziVEi2d5V6oSkHoZCzZKZ4eMYxsKZdmJbGpZowikzjVyjjKeaarPvvf2oiooelFBFP9oZVMkxQA285xLHGwxIWUa2pG+SDQtVyiRiKLINDk/FVkZVMFZuFjsTSsUkviTPzAEHRL/NAOlysqti6fa/uKWBX1BMeU5MA4k7iU+WvqWo5tZKR6Qa4V6HkmRvTsYU7PPITKTGU3CdOHQoK8EIxrT5ERFVNBns6h4/OfQa7N1D+KOHfCVCO0ZCe09VSsfKn+0GJZ5OWc3DbF0B7nGrk2g8JTlPytebL8vOk1H+3Nfza2mqLr0myb0zd1JcdBUgtjTYNcAAGeEeHakho4PyrMLXuqWpQKJrXISRWVUWgSRPp7iwX5ftQea0XOsjri4toR8Wm54C+794nR2VKbpWqlVZ3StKY8W+xwXV+hG7j85BNvYJLhFyZbfpOv9VboDyycSsZf+4k3aBhivdrqSuyDs5GwXjliI+vxirtGP3RkN5jB065clIbVbtoQ/u2kypVOl08uiyTRIaadjfny8gbbZp0rS11sVaRvF88esTUrXVWlYLkxoe/b9I4rPP3UgEYl4hX9MYaxTbs+Za1+zDC2+eZXl2j80AGXvAekeYcw1rB2bNyLPk+fkybZjrKAraesn/H58n9g8VPLPTb0Pr4t7pc723U+8aF91p0jnq7t08tcbg9a/NAPPMA2UkamJBJ4RKVr6E6/yVaxwOdPfBi1KLjU6NHOxvia0B89PaKjjPl7P/Pv4xHyC3df5aXVJ/nSaIO2M0Gl4NXxaaH0z3jDTUtYxiNsOToc2/gTg6MDi6/eX+EPo9M89gMDVhfHnF8aMAhtvvLtFZxKimOlXDnZxTMimrWQOBMMrapI5pCnRvSyKoO4wr4qUZgXN47Y61XZ3nFp1UPMqs/G9AG3Kyd5MTpLmOo0KhEd3cepJ7QqU752sMpwYrH5Zg3XTVnuTNmf1ggtnWvuCn3fYeibNNy4nGi80yqQXslfxvX+WvOKQp5+WiaOnESj69XwU5M79xfEk2nHbHgDchReCC/MmgyZCNILlV7g4JoJT5/usV1tEES6RCHWAymxVDGfD6Y2DaPCUHdIE2k+XTK7dIsad8Ytdh9IE6tdE4L9xYUDRqnFMLFpmQEBBiPNZueBx96DKvmygkNMgylnFxwcM2WlOiIuNPbGYiVr1iKajoC0+7GDp0csL47pRiLmf+qjD7jUPmAtH7BtLxB6OvrH+iwvTFipCoVibhowjZxxQ+xva9Ehd7QTQr1wpHLY12oloHu1PpqJ/FVumqcIC519Xxp68xWnGnuhVyJzBloFNS3o2BILeiM/yYbVRyfnxTMXWI6O+c+S3+d/yp+jP63wTGO/NDbYqox4rrOCQ8KPn9zkWv0U/UmF5y7cJ0hEB73ROqJlBLhKTFd3GTRsbDPDMRM62pgYnbCqlwHebdUnRWOQV8rokjIeJpiFWScy4+/ZVW57Jwkw6Vg+u1mdONPYSzz6U+n8X+gcslof0T2whTSpFKw6xywrI0J0UkslzRrYRvpIE3xRUO7Yf9nW++6nNQuRD/qhzEn36h7DwOLOGx6el9Koxzzf2KZb1HjhD1a5dGHI2RNDuoHLaGqy9VaNT3zgHs8Yb6Ev5uz5NV6+vkSwqqN25IY1jZzB2MazHPp6tYwMueDvk7unuBadZHfXoT7QGazatKyAi/l9vpxusHPoobblQvETk+23aozv2+SXFSmjkzEbhk6zPsUlYlA4bEYLEuloJrhGTJrLw2V14Zjz6QO206dIc5XnT+6wmg1YDoZ49gppVeVy6wG2kmKT0M+rpY1N1yR2YzkfsTIaYDaFN+U66eyBJ93rVnXKeacvtrewws3RkuTw+DaOJTNrVZE55f6xW5ou+sc2zVrEpzpb3IhOcuf+Alce38MsMr4wfJL/vHiRj/3KP+Of/NoP0x1WedrapWd5bOuLOMSEGLxysMKzJ/b4sbvfID6j0bVqfCJ5A9+x2PGaeIh5wc4STD1lr+ZJw01PaOc+saIRmAaOkuAQc2F6n4FZZSs5V5JFdFV2wOHIJAg0lFxhNDHQtQo3zQ4dy2dZHbGv1hiFJjtRnf1Dh923qnzqzDZtxrzmdcgLUFVYVYZsTB4wNB1Gul0SOebGkHdb+V/S8lgpij+/7ONRa+XK2eInvv7rvPzWCo2qsHJvfafJ+qkxP9+6yba6yH5UY3tQp+MFfNaUZkagmnzh6ElGgaBm4lSd4UUURr5B8kd1Dk9HrJyacvmxPrqac3u/SWchYN0bEhfisLmx05Izop2yuS1s3b/58dtl9OYolN3fnxo4dkq7NmWrW2cwNHnm/AEtO2DZGLMVNun5DraREcQ6W3uezJ6dRMz3qlAbXT3G0RI2jwUMftY7Yn9aY+/IFXJ+Iv+HwZHJ9MDiR5+/y3JlzCi1uHW/xb2vtli8ekTTC+kf25IN68Scbw1o6lOGmc3u2OPVm21aixGtRsjPr0gX+NrkVPm+x5lABlwjLnsEG84hOjmjwiofGi4xKSrbabMU1n+02EYl54XsKSmjdZ/dpI5KwafyO9y0TvGlt0RVpM4Qt3PY2lpliKtEbMdNifU8dnju1B4dZcxvvnGpxLFuPC6mjhvfXhQA3+kx681jOpbPC68/Tu/ApuiZLD01YuPUsbCLc4U40fCcGM+OGYXmTN8s9sE8V0o4+yCslMzkq617dIoRgWLK3DkTYc+/+MG/weD66+94V1YvfaA4/3u/847X9vXTG3/8LiOf93W9v0nwKKLMSdWSzDBvl7tZhI3swt1Dh1Fk0pkc4yUhepGX5Dxz1qSBubqqYMbdlrGHlgoTOVFL5cw8MmJnp8pwJLk6ppmj64VEVigFQaKXnKF5h3m+49l2/rAxVubm6tJUylScmdh8TsHX1by0i80VXnkhN0GY6vSHdukT9ic6vq/j+A8bLG+3DvYHFt1DgcCBWNJMNSvT/gDCcPY6UwOzkCS4slP+tgBqTxfGVZqrNJgKEbFQZ5mtMTpZ2ajphw63+y30IsOLw4ch1mQEqTC4vFjiSnf2XPypQZxo9EcVhoFFmOqiFMOgFzgMJvbDhhAFYaQxGhnU9ywGxxajwGTywGJwaJaJ89JMlDFPbOXC6jLjktRoGg9VabqWl025+TUSJNLodA3BxAaxeJd9xSq16boiJv1HeWULoMjf+df3cr2/jSjE79iczT7jTOPq+QcMAptfvv68KFaMDKcidMN/XP9hYSNnmYROR+KF/cTqXZ4L3+RGZYWdZIGXMoWLjYh2XcgPo1iofW4lJfYkOKppTvnoM2LhWqsM2X1Qpdu12Q3rNM0pzy68xe/tnWXvQZVPf3CHMNPZPfZm0kRYdsRxs5of4Tuin56bGOxOys1hm+2uV6JedSWnSYBbRGyxQJqprKpD2nWfS/UH3Bq18SMDx0xp2lNapmTMzBGsrp2gXfB57qluee4MUgmU7k5d+qrQJdpOwC/96Dd48e4aO3tVXlk9Q1qo7A5qD3nAiUrLC7lQPWB73GBzr0HjCfk+TSVjP6mxmS7yKfPb2ErKFw/OcWWpy2etb/JC9hSqXvC3J39AX3HZ1k4AknD/Re8icarx/If2yofN2wOeHXXW3Z11q91Kwp1Ri12jzi9e/CN2n1rg/7j2BCtLE5brEz76E28xzGxevXtSHgy5wS88cQv/CYsbwyX64wo37rZouDGtWsiz9V3pkRQpt7IOYa7TNibcOFri2s1Flp+d0DBC/NRkb+Dy1suLrHzGx3MiOY6kDq/cXZYw7OgR0Lbv1zOtgoC3tt7ycKuiHW5UBYbdqMfyVNVyVhYnuGZM05wyiCv0pxUabozqFTQcuSFGRgW/kFT4MNRoVCMu1Pul6qnZiGnWxAkz37nW6sei5iHGNHJMM6dtTWgq4q1se1MpsQoBiS97Pv1jmzDUyl1GLx5qZrtTd+ZUyRj4NnGiSVylLeypGI2u4uGHsgvdqi+VJgbR7+rs9l16ZgXXrrHWOMZUMgZTm/2+Q3bbJdgwSC1VyAxzk3xFcoIGWUVg62GFMNZw3ZSGITLCtKnSHVUZjC3R3SYaQSFyRlUV47yqyAhkXjK3Ip9UVXGsVBxSmlmm3PccDztLuDTao+e5DA2bVVWCxAZxpTSvD3Obpj1l1TjGnLGoPDsmSMRsPo9AUQupQuJYStk407h+KED0+Z+DXOa8fm4yDCy6/Qq9nsX5c7PxHzouEr49Si1GkUXbELui56VirNAitoYLAFSe8rngHLCR9BjpNrZaKwkoR9Z7IVf85TzTvr83bSH0iOJParzVSlFqKasrksuy0pqUMrH12hENdZYCV6ywd+iy2vJxzRjPkBKvp9cYpjbDUGajTSfkUrbPDe0UQWrQXpjSdgJaWkBQSLm1bIzKUtk0xImyohzj5SF6kUl05SzW0dET1u0jbmtNgmCGRCVHLYqyPN89rJVzwyDUiWOV/WEVdaHgsh6yr9TZizyGY4sg1Hg1PMnZk8ds1A5LX+fmVo0iUVFzUJ8taDohvWGFe9tVPvoVh8GPWLQdnTt3G9hWxnIrEA+rHjGgQm9UYXPbo9EQhVdb9YWZ5ISMIpO9gyp5DmEscLc8l870HJT+duhaeyK5vV41Ji8U+loVF/n9lnGCy+O3eOb1N9i7skBfd7kwuc/t6kluJe3yLNkf2dgnU1a0IaGiEyoGLTtgqNqEic6accTZpE/fqIqlLpRjT5ypfP2rJ0mNgsefHJVJekFqMIrliHB41+HMmxbB6UDm4oVFU5ngphGDqc3Atzlb07B1CRfvGD4uEfuHVVwn4cq5A64Ed1k/6HFz+bTk1+oZGwsDtrRHyBiBLPs+vGkTRRAgCx875KnFCc1KyIr9ELjdi6vEucZHkzcJNYOvFI/Tn1SEdxuYEuBc6cu5CoNuIFDr5z70gDRX+XK6QUORkUt3UKF3VOG2tcjq4piWHXBW6zNSbfbyunguqxqvBqcBkbe17IAVZ1S6g+JCo92YygUcO+SmAjo0mHKxlsjFGNtsH9Q52zmkU/FxtIQgM/j8g4tsLA44bx0QrIg5PEw01twhl7J92hWfUcVm7RPHpQgiTPUZK0vjzMaYt/7umGdaR+hKzuE9G60qR4dWJ2CZYzZzSR1w3ZTnnrjPqn3M5998Es+JebZzj1ZlCivIOXNs8r986UnOPTFirT2mO3VLjXfLDLDtlN+uPk1caDhJIhVBIfpgPzHJbYW4ptH7sMdyMGSZIbdry+zldeJMpeUI9mXFG6MqBa/lpx+Wx7lWmjJidHpGDSePWdbHXP3gAbYhQVinnho0UFVEAAAgAElEQVSRzoT7aSYCkfmZfLk1IU0V7lYyPrkyFObW1MN0MmwzZU0/xjUTbh628eyYq+v32U9qhNmCHLks6XWMtAp7zSbX9FX2Q2lGXlXu8ofx5N0v3kJ5TwKM78V637N8TCWTSENnStOY0lHGEo2BQajLbmCnYlRGEcOzbWazH6L8QEMMUlT8yCBMNFrVaUlN8Jqz8nksPOI4URlVTTE/64qgVnO9bDiNInNm0dJpWsI2zosZ9aKQrqtjpQ/tgrO3SEViImNd6BOuEdPSZzRFDPrHNutNFYekFHWAKc2VQpQ/JiktPSDUJMluQKUc4M87xfNmlhmpRFYuaitynDwpy3RVFTRtgylhpGHqgo+xtZSGPdc3m3hDObfNqSDzRpajJjSYsp01hRWlx2Jde1vyeZjrDNUK+3qdNiOcJEZlxl2anVnnGuAgE0NHxxECyDyhz9bSGRhdw1YUweFYyYwJpeJVHzYmbUPm+UFilD7WeXUkecM5aSI/o0CVMt7WUoJIRBYNPaQbuYwia5ZKPwPXGRrx7P0OU7kO9CJHecTURHba78MzbSWP6WhjXjpeBSCoGqzWhg9LVjXDLDJetJ+gpU74sfBb3Gl22PaabB0t4Icmrx6dKgn0+4cOwVRn/8DBcxMa1RhbTQlznem2w6mnh3zi8V3uDBfZG9a4trhSNky277oUPZO1J++KfS01RbwRV+kFDrpa4BgJw8AiiHSW7TEtdUI793kpepw79xc4u3Rcdi770wpBKlRJXc25fOZAZJVUSh6vY6Z0I5dXjDVudgUgbupZybl6/vG7uNWYgW9zZ8vj8a+e5NWfs1lenGAsh1T0Qi6+QidUdDwzYmhYDAYmr+2dpLvo8ktPvkaqqOwVjVKxBbC65LP2M/dmeTkan65+G5WC28oSTQI66YiL0T65orBrNBngsFsssGYOUc1cCCBEuEXE7doybh7xmdvX+PITH+Br/gppJgITeAhgu+Ad0GHMLf+EuJ0qEcvGGJuEnuKyl9a5c6+BrsmRw9TlQbXWOMbTImw1ZadoMJxWuXG7SRypaKnCnfsLLDcnPLOwD0CfKtvjBcJEY+PEEQC9qCpGET1lb98BHDb1Oh+/us1G0OWqeZdrzmmuvXGC/7X2Ie4b9Xe/eAv+lPHgL9N6X2/aXHm4U+0dVNnvO5y/KLDuW0cnCCIZu1xZ7rKfedzMO+ih7EptN2Awtbl+p8Xq8kRURK2JkCA26zTrMSuNMfthjVFkkrVj2o0pbdWn7ziktsrT+j36SpXNsIXnJQxzaSY17Sltc1LSDlbcMTkirpjP/Dw1wkEqgI7lk3dkRwhTGbWsN49Zt494JVyRUVOqE2gGpiI7wJz/6xmCYbXNlDRX6HiBlMaJxjC1GSkWtpGJPnsp5Uw9ZLnmEz/+0Gi/OV6kZ1UxtYx2LeDChuz2fmTQr1XJUUv/qh8bNJxY9L2K+EnTXOVr8WNSHush21mTTVpccu4DcC1Z4bx5wMenb/Bl+zyj1GLVPCbAZICDWggS5ncuXMEsMn7xzNe5qSwzSCq4eswosegFTtnZXavLESBHEfKkapZkzEurh/ixQZxqXGwelFLRfuqUP8swFq24aeVgyRgszxVW3Jo00nKV3qhCEOqlNVJVCla8MY6eyOeaOV4toafU2Gos4WuyAze8mDx/NIi8KHhPntvvxXpfb9pUURnl4po5vFmn2TPobrj0Aodv/j+r6IlCbOVc/us99ic1jn/1Cb712SOevdTjvCcYmTO/u8DdfwfWTxyzWj2mX3V48w9OYD+ZsmEf8sLOOfpHFutnfFbrI9q5z9CqYCoZP3bnBq88fo5XpqdpLURCaOzW2ThZcMnosp0uMJhYfNz7Dj4mt5Il6SZnCh4hThETKxpn6bPuHPJaeJpBYjMYWqw9PuT5o9e5YXbEghbY5cXj6TLiGikWTW1KpxjRrCzgGCkX3AMRf+Qmm0fimfUqMe3FkJ0LOmcXj1gzjljpjNiPa9zpNXnt9ROEocbnfmiLVeeYNWfInVGL/tjmTniiRIP2xmKHu3yqh62ms5wcKWF/93fPkTRS/tZf+RY3eye4cbtJ8ENi3njh1TV+9WNdfuoL/5rf+PFn2LzfYONcn920wa2DFi03JM1Vfv32Rf7OD77G3/tP/wf+3//yr3O9tspyekzPrnFba2OToBc5l4z7DI0Ke2md/aDGMLBIc4XVhTGftN9gy2kxSCt85vgGALcby2zFTW7stPCqCXGqYtvCjFLVgqP7NsOhScNtzkpfld39KkGgsbcvafNuNWW1PpKUQjvHrSastCbsxnUGWoWGIprn5aacZR+lKSp4Txa878l6X2/aaWHQjVwcK+X05eHMsK7iWTGP/eh9glAkfKPEIi/g2z874OJjxzSskDujFoOJxZt/dcjVJw+44ByQopIaKta5icSDhIs8s3KfcFnnte90uP1gkf2qy2ptREMP+cL5p+ni4VkxvmWUwVEgJdacnL9X1IUScejh2gktb0qvcOkrgrCZLz8xSXMRV4SFTs/xiAMZqcxB6S09oJ86cobKdPYKj4FWEb2tltJPHYaJXWb62IaEMaeZiuclXH+rzW1TlEK6WgjtYl3YA7tjTwwQqezAaaayddDAtRNp+qQqg2OTbadRluEgIpTF8z6ukxAXGi035PKFgZAJcwNdz7keLvO//fSnsLOUtfZYymMt5uIJqYzSXOXZiwIp+N2//wvsOtIUe5nHcPKEdWMgO6Za5bXxCo6RcNYesOyNyT2Fm+Ml0Upzkt1xncHE5oWlS5KXlBs4esLF1YFQFmOdvKXg2GI28NtT0kw0yO2GTAlUpWA0MUtW1rwDnhYq66fGBJHO/mGVthug6gXDzJYmW2jQrk0faRiQOe334U2bFipBIkZz105Kq5SqFHS8gKCiP0w+03KWlwIajjCJBhMJS2ouiMZXR/yUAK2mNHp6vsPZ1oAUlSA8JZDsUMezZuFK+gJBbsz4RLMPzc7HYSFaXl3N2Q9rDENR6qwu+XhWTJAbpaLr7cvUM7xqQpjrdE0PPZSzWZqrM/tYTJDViXMNz4gEMpfYpTVtzkpKcxXbSMudwzRyWgsRQShgc10XG1vDiUo9bm9cKd8v28xQlZTesFI2r1R1lkqXKeS5Xs5A80LBq8Z4TlIaMlz74cjDNMXfvO21UDM528ezxDhTzSCX5lfTnhLkBtfcM6K04qFdcp4XFCINQgDdzkrllWsskBaq3DiRQRDp9OIqppqVFUHTmpYCEceWEDXHnB01Eo2hb4k8U48lP1gtUFVToASzPGGVosxWCkJd+iZKRlAIND6MH1ox320V8P250ypIxOFKNZac2XhGZoxNdvvi5zT1nOdb2wypcOdeQ+SCpi43QqpydNPjK2ODrZONUr+83JywP6iyvdvkQlPE89nXG+QfOebp1R5fur5Kmir80g9fR1ULhtj0j20GQ5OVTkDqqOLj1FJGhcm/fOFx9ERh1JC5qGvE+JmJp0ecNw6wkRjOXXdBwHDNlK2gyc3RRS6eOGBkWXz5T05jfzBlzTli56hOsxryD3e/wCvrG7yoneO1nQ5eNeYfVv4F/UqN7XaLG+FJhpHN6uKYtj1hTT9iiDhe/MwUWr4qqqLeSEZhqy2fZ71dWvkEvcj45/olBr7NzbdaPL3aY335iBQ5lmyPF8obJEh00pn3tT+psLXnsdd3MY2c1ZMTLno9nhntcE09Rd+vsFo5ZidocGd/gcunD3D0hFvdFmdbQ9btQ16ZnkFXcn7rd/9H/uTqk/yD1qdoWxNcNeaT7TfxsdiOm+W1ME8htJUUs5ERuAaf0LcYaTZfGp7DNcVYMMes2kY2y3qyyyyfViPED0220gVsI6Ndm7K6IOdYV4tpqCI08U2Tpj3l4omE81oPLwvZ1+oEhvCZRxODSWS8+8VbQJZ+H960aS7NHVd/GCvYHVeJU2ketBtTmpVQ4OWZiapIx9XTI3qqg2lkJCcjHluecLY9LGd4YarjVhJai6poctWc7EMjWl7MIKzgOCKtS5GzY3csqeb2UiaCczPCU0J6SvWhPjZTcEdCTZyLPvqxQzd3cfSktMXFuUZ/Kul6pp5x6+AEeQEbayLU2C88udgSnZurq9w2Omz3Gjh2ileJ2a0tsqM3uR22CRK5cOJM0uO6ak3CsHKNpjkt59nz1TsUE0Gv5hKrWpngMM9zHUY2O0oDXZExzGgqhm8xK6jyb5HgM9/XefZ8F1PNuHmvRZAbBIZJniqSOzsrWdeXRIAxT/1LC5UAU24wCr714XOEhsGPGa+zpzYYYROjY5Jx1jwsJwUj7JnmOWKgCK9pqDkEGDhGSsMMcbWYXuAQJjq2mf6pbrg/NdjZc1ldntDxJjK+yVX82JQmoG6wVjnCLhLu5C3RWCs5oSbhZgGzo42dEkbaIzvD37c7bZxodEdOWfbkBWze9dD1gk5ryoVGn7NKnxvJMv3QQddzmvaUFf2YHU0EERfOHXN1eZ/LxT22tRbD3GZ7vEDLDWnXprSUCTYJP/n0Nrt+ne2uR7sZ4lVigkLmh5u7dS49fijiA6Bj+nTyMdtKkzjVmDZSGOo0+rIrzYOc94Yu33x5iWk1w6lmPPvBBwwDizdeWuL0c4dc6Bzy+7/1BEcnEn71019nJ1ngRn+JONUYTix+0/wIW2/W2dyq8aln79GuTPhK8Tg33zrBt19t8eQPHtCqhYymwkjaKTz2elXyXOGTF3cByptSVQqSb1e5NTRx7aQU0YeJhqnnNKoROwc1bowWaS1E5DmMJiZxrJKmipANHSFGxKmGP9b5nPIN9Dzj5clfpRdX6Vp10lgt+wwdy+eydZ8b0Un600p5DOgXVdqGNHT+0ZlP8Hzybf7Gf//P+L//9k/xirNON3VZ0Y95briFG8ru92LnguBp8oBdGgSJwZa5iK7ktO0JHW2MR8Rr05OEsc5K06dhhcJ7dix2jz2K/2sJ/ycj1p0jNv1FhlOL4cQqcauffvwO7XDEC8l5ebgbOp5ew1Useqn4s9uNKXsH1UdSKYpCIfl+3GnrlYiN1hF7fq2MiVjpSMSEaydsjppsKU1sXZ6qqy2ftiFh0rae0U807mx5AAzbNmmiMoxsXrnZxnVTmvWItar8/Reur7N6csLV9ft0J9USq6KrOStLE26+uUiaKnz0A/dl99Vq7B+79IY2rVZM6KbsV3OWRibbWp2rp/dpL03Y+MkjBmEFPzLwLPHOTk/GuLaQExevHnHSyNhNG5hqxvnmIXdYxNQznnH3cA0RTHSPHfzI4EKzT9ub0tvwabpCwJ9TF4djE89NsM1MQq1mZzSQkLAzP9wvGyhzf+3FE33SQmV/4tKuT2l5oQSVqQV6O6fvVxgFBraZCcZViTl7Yoh+OWffqpMrCo1aTNOY0op9ztYGjByLpi6kit1cOH4NO2K9NhTlFBHdrEZaqKzpR3TVOv/nf/I5Qs1gPT8k1JYYFhW+1jhHq5hg5wnbaXPmHW7PkLDCfI6Lh2f+QBNM0HBsstdts7w0pV0PGPg2w7HJvfMhj2kFO9MGe0euNDLfthtu6m26rsdoX967PFewa6kYOfSIfdVjFJk49qNN8BRQfD82okwyWkbAVtgoP+baidiqVKEiBqHOxvKwVL2YSgaFcIh0LUcbGHQPKziWJ3iVqUnWtRi2RFM7SKTUmuw4pG0Rro8Mi2B2UZuqSNoGAxNlopE+JTDskWoTRCLsd6sJpqmJoipWGY7NkkC4rsbs6g36pjNLuMvwvKTkQc0zaoaxXQK+TV0M7O1szMB06C04dI+cMi3OsyI6i/Jg0lWxmKmKlLrNWoBnP+RmzdVFppazuihxKHOvKEBbn0hFobh4thgT3g7/njdddC2Xr0eGq8e03JCB4pCi4VgJnhbhTaZ4tgDbHCVhlFsMU4mZtLUUT4twiHGJy2DshjbFVyw2zRNscICXzh5EhcFu0iAwTGwtxQ9NoVpGxqwznpflf5AYpSc5zQTqPjg0S/rEYGQRhirWYoyqFlISx5qowYyHde4gqwhHOpZURYxMlFNFgkmKq8azNMCHds93WgV8f+608/PYcn0iQ/MZVd4PDfpDu4ywvFA7ICx0Xt5bIUx19myPtcqQ5skp4Yc1PEdA534o45cPfawrQU9GwuaB2OA+9qO7LDtjTOQ8a+sZz+Xf4aa9zPW7bS4/NZA0ghmUbJRZNKsSd9kf2Th2xsqJibh8YsnLCXQDR0sYpjZxrrFsjwFwKpkwkqYGzVqIOcua2Q9q7OZeuQveVjvkKJz1jsrSHKBlBnidiF5YZRRZNCshbSfgfHvAVWOXVuyzb9XZKxrcHp0QH2+uoio6bTfg6VpPpJ2F4EGHqU2YaHQcn6Y+ZWvSZBDYDCcWywsTzi4ecW13CT80WHUcdkZ1Nt+qo65Lp7jhxKzlAy7e3eXXz15l59DjcqcnDbHELI83X3zzcS6vHPBp9XVuK20Rj6QhppoSaxp7NMCAq8F32LcbfCVbZzsRx815p49uZ6Q1Sfcrz7dU2ckEyK4qhcRduglnPzJiOLEYjk1MQyycqip2P8+KWFkUpE6aq4Jg9Y2y0RWEGq32lKebXVwiQsVgJ18gyAxc8+H4713X+6SIekTOz/rs764XRfHiO7zE+3ymLTRJarNEozuXCgaJQRDqtLxQGEszgNtwbOJVYjxTZZBK7mmazUYZekY+Czf2rFisXImB58Sz184ZpRZbxSLdkSNSOWsWchVr0uCyY4ahJeFLpuzmaqWgN6wQpiKqaHqzKI9c4GNB8nAs1bYmZW7uSsunU51w677k3CwvTErni2sJ8nOQVkqdLcx2KyVihMUol7GIqohRfh69sa/UGVk2AWY5lpLZrEoQ6pLPW3kYf9JNXILUwDaystyc795hrL0tLFoaK3Pnj21leKZEQg5Di5Fqs99q4sfSvBomdrkzzkv8+YWeowpF04RANVGLnGYRMFJs/Mxk22mRorFuHzHM7HJs5pDQyo7Y1+qMsFlLBjhaQr/mlGD0hivjPNtIaVSZBVpLPrA/McpZvzk7JgSBjmPJyGeeJaxrUrUMUxtVlyNGkBslLP49+WQL0JN3/nePpia/43qnPJ/PAZ8viuK/mQUDfG9u2klssB/U+Lj3HXQ7Z6jZrFlD/EJ2zEv1B6wWR/QREUP3gU17YYqu5tzpLzIKDPoDi2YtmiXhSSZMQwvZmjTZ7bt8dG0PW025edRmp+/RPbAZjQxarQi/ZRPkBmEomT+OnnDn3gKuk7CyIKxk1Si4EbYYjYQo8ZmP7XDRfsBr4xV2Dmp854+bFK2YZjNmxRuXLKOrC/f46PEbfHb3p5keGXhX4xKvulyVHXl37Em4cqSzfuIYz4hYyYdsKifYG9XKcnb/uIptZHh2zJcPHiNONdZao5KGmBcmQaizfdfFDwwadlTGc+4M69KJd4PSPeTogl8VX63slromN9wgqsjYbDHgvHUAwE5eZztrop98guF9kzhR2T92Rel1bErg9iyI29ZSfNUSWJqu08OlWQSsBgN2qk16UZU7wSIXmn0+M7rBlrdEz3AZFA5NJeDqW1t8fu0j3Bm3+HR6CyeKaDXGdK06Pd0lXhBJaJxprHhjAcHnOoOoIpEtsYYfS8cZYDi2OHvymEveA2wSEYVUEoJI53a/RcudlpGp/aDC9r6H5yY8KsVSAdR332n/vLEg3zVaZ/65iqI8DVx/txd4f+e0ijB3t7JFgswgzjVeHZzCMVLWa0e4yPkpRCj2z3ygz4o3pmUE7Ok1dE3HqyXYswF7XigEqcH+pMZoKhfiinaMScaLwzMyTDdz2u0IrxqzrS4yDG0aXjJDomjiu3UDzjoD4kJjlIkAP5jIGXEwtdk3PDwzot3Q2V8JabdCGm5Ef+owDEx233K4ubqEXU8kFWCxwLNjHCMRs3o0izWxYoYTi/1ehU4jINANbukdbh2e4NVvnODKBw7x7Fi8r1OD/sim17dJUwU/0GnUYpYbEhHadgP2HzgMjkxeeb3Ds09KGHQQ6cJq1lI2+wv0jiqsnJjIWGdisJdX6RkV3IoIXFp2QDdwCSJ9xhEWSn+QGQy1CmsLI5rViCDWWT8RcPX0pLTcOQsiyLhRLGMXaenPdbSEzmjIcvWY0NZLi123Wmd1csha0ee3nctsq01eXn2C7bhJb1zhN1pXadRD2qqPjnCL+0GF4US0xnkdVGcmhkk1ptsOYU0CvQZT6UmA8KiHmc2KFuESzbjLOa6VcLY6wFUieplLbGk4lZROY8LeIxVRClryrnf2u8WC/EXWzxRF8a7hdu8vjXFWTvUjp1QC9UcVGtUIpzbzXiozW5kqQnNPj0rwuG2mqGqBY4j43c9Mid+IxL5lmyluISZ5P5iBtK1MLF12KjGbKDRqEWkudryWG9IwQxpMGSgO8PDsohuF7C4VEcI37IhWM6LhRrh2QpypBJGBNdLZH1bZtFoCybbFXeIZEY6a0AscSc1zgjLhbl7m9mIJk9IGBnGqljayOFGJE60c0QyP5aGUeioNQ9LsTDMnDHV6DyzCczOA+bzRpEgqQv/QwrFT0kwlCOT1TFNwr64lIoS5wkolRy/ysiOdInA6+V4rtO0JG1pf8KOoIsPMHPYmHk17WjqsYk1DzzLsPMVRpdeQo9DXXTrZMY0gwHTlyLGtLzIIRex/c/8EjWrE+aZGSwtwiUQIMj8GxAZDzcYxpHLQEwVVAVeP6RdiazSNWQRKboBG2W1XVSGMNJWARiE/6zljzDFStEfQGJUCtL/AnHYW/fH2NZydU98xz2f2Of+Voijr7xYj+77SGJevnCv+3T/6NXpplY7u0yRgNRywabf5jduXWD85YsUdc9F4QIzGTrbA3sSj79usNUc0jJAV7VjAZRS8cPAEjpnyd/KXuNlY4Xp6CkcVSeGtBy0a1Yi2E7BzVMexEn7R/Df0LZc7+hJ+Li6TMNcZxRa9sewqrh7TjxzCVGcYyAzU1jM6FekK+6nJzpHHYGTzyXM75CjcGS4yGNv4U52mF+FVYs56YhHLUbh92CJOVbxKzPn6IeeVHn2lSoxeRi86xGxmJ+jHDlu9Bp1GwAXvAFeJhJKPyl5a50a3zdMnH9DQQr6yv4pXibnYOGBZGWEXCS9Ozsqubka0zQmOkvD5O0+wf79C/Q2HynMDLq5KnImpigl+rouee2wdLaGjjmnnPv/oO88w8g0+d2lTgq9R6CDl/u20zTC2GQQ2pi6xkheqB2UXeC/x8BOTlcpD0MEgqWCqGf/0X/8m3c4C//gDz8s5PDN41rqLr1h85WiNtiMZvLuTOq4Z83Fzmy+MnuRfvXyKj3z4gI4XsFIZ0VDlgbuZtSQkW4ukWgordCo+caHxO6+sy4NqIeInz2/RYsIX7j/BYGTTH1h4tYQHP/fXCG998x3vSv2xDxW1v/+Vd7y2h/9e489FY5w1nD4HDJCbdhuYv86vICF32++2276/iihUwkIvxxIBdTrasXw8EkxIQw9Lcv38Yp83CsJcZ486rhqL8kmTM97IqBAqRjmLjXNhRpma2OGCaLYLWQq+ZrEXeeUO0p865AXCLdZjXC1mqErn0tRzPEsQNznKLBfIESrkrNEzP9MuL0zQF3O2ex5xotGwo9K723RCwlRjGFiMXAvfsAhmUYsO8ey9eZjN61hS/ge5UQLH538PUqkEuoynqFDeTLEiyXTSmJFKJFVVGm5M3NK4P9Z50hFz+TC00GeZt0FqSDiXPX3Ij6JALzIhRvo6g7RSZiOp1QKTjP1JDcdI2FgYMJpl4ZT5uojpPEgMQkvHVlNcJWaA+I5vnT9DqmmczQ5IDZU+DsvRMbGmcanhEOSGUDRmR4yhWsHUcpZOTWeYVhkJjQqLUNHL9y7IJRitYUk1EuY6tp1JBWRm9BNnBi4oZlUP6HqO8h42UeV9UEQ9IufnHZtPb1/vJQl+3p6ePxnecxL88dRiy2/y2co3+Xxwidu7C8QXhEnsuQkb7iGX03tsG4vcmbQ4+I0zHP2VIy6dHRAkBt1xleu3F1nuTFlenNBxJ5haxheVp/BDSaibW89W3DG9aZXNboP9B47kmi4tcD09xe+8/Bif+Mh9mvaUa3danF0d8amTb2IjZIVb4QmCyCDNFdYqQ1Y54np6it2hx5/8mzannhqx2vZlDJQYdI8cfv7xb/HcYIsfv/dzFPsW/gd1Gm6M58Q809wnLHR+++45glBnr1ErtbWr9jH7qUd36palbbsWEKY6Nw/auLbMEufzWF3LuX2vWeJaAfYqHrGlYSoZuwc1Of8tKmz1GsSJyjNrXTZOqGy36jQcEYTc2hYd8PkzGt0jyev9zJU3aWpT+qlDqorYQdcK4ljlle1lRr4h5/2P6LhmwvXNRT7xgXv8/PE1Xms+xn7hMcxsGlrIcnHMDg38yGBP8VitHnO2OEA1C3pZlf9I/yxXlrr8g6//Dp9/5ioj9TTLwyNaozGf8L/FCx/4MC9nazTNKWGu8+JgnbYT8JkPbomjJ7V4bf9k+UBfafoSWzpwOb804Gl7X7y/SsHZ1ZE8gO2Y2weL5LnCektkpsORSac55dB4d7CbUigY736m/Z6td71p354EP8udfZ4/Q/y8oUvz6BVljb2Biz/R2TyWi8etJHRjl5vWMg0ky2fr4pRarLJ1r87GylDYP5d6gJyP/cSERPhOrhnTqgS88uZJTCPnl9f+kE2vTRDLf8k0crZZZBBVcN1UAqQynasXeuhqzmbUKq1cfmjgVWJW3RG9pMpuVufVzSXyXOH0xZHYvnKFhiGBxmYnYytZZK9e5/zjx8SrGm4loXdUYfutGu4HRC3lOimdhYAVd1yKJPqpQ5AapQBCVQrpis922I/Xv0Mzm/C1bF3EC7ZCGOuily0kk3bdPmKYi9Xs6dUeQWrQn1Q43xnQNKZlqFmrE5TJ9StLE3FBxTqmkdNuhSUXK8gMQt0gVQS612gkuE6CbWViGssl2IIAACAASURBVC+UMoZyGNncbiyzmbYYxBWWbQEIjBSbUWwRpyrrrhwVXi4eoztyGYWidOpGLl/4yEfQi5wryltca62RntDwMdmKF+lOqlxeeCAEi6wuXW81LzE559uD8s/zdMB2XdISbydtOoaPp0Ys1ye0rIA17YgdZwE/NemYPk1DmpANI+QN9d1vWgp41D/5Xq1H7bQvAv9q1tr+FeB/flQS/NtDpSunO6hKwc64zsiXtLjhxCobH4NQuqwNe4qjJiwuhQSBTu/AYq2j4RgpazUfPzVn2BSRQoaxjmNIU2X/fgXHyVhtDRjVbVzrBKkrT+NBWiFMNRxnzpzSWKsOGWUW3UmVIJ41g3IJKe7oPrcmMjo62nTJmgnnzwwJYyFsuFosA3w1ZWfSoHvssNwQhGeaq+z1qkz3LbpnHLEjVqTT2TICKdNm5WZaqKV0c56lCxDrGueDLsvHR9xcWiZUpUlnGm75/jpmQqcY0S8cRonFeafP0LDpjhw6ls86h7LjUNBgylCtMCpsWrUQPzIEcK5nONbDm2EOZc//v/beNkaO+87z+9RzdXV1dU9PT7PZHA5HoxFNUzQtcWVZUbxen0978BrBYXHYXIzLIrgXwSa5F0Fe7WZf58UhQYIEwQXIPSA5LDaLy10eNsZh4XgVx+dVtFqtwtXSXJqi6NF4OBw2e3p6umuqq+u58uLXXZR3I9Fnm6Zk8QcMQHGo7n9X17/+v4fvgyIkCNMQmOn7RdyTTBBjUaoJsWEuAvMbtSkAAdKdz3KVlhrhlxY7kxbDaY1wrtNti67XNbvPpfweG7Mxr3nbDDKXvcAjTAyyXMElJlPkAZfkamWJamsZG5bItJrkHBQeIQZtOyLKdYFxtmbiv2RGdLSQfjYVHTLVoqXMcbUYV0uqcuDDQilB/zietMjG/C3gl4Hf/lFecDFv+kcA7V/4dLlMgf/l9qfZO27wnzb/FVeds/xP/9UvYf67d7jUHHIzWWNn3MJ4y8N8LmBzPcCfmwyOHW7vnOULvzDkpc5dRpmDrhRsaWP2yya7sxZXnh1TFAr/rfqLqIHA4669s4Kqlnzt5e+y11ohSnU8W06MP7j5FBvdgBc7B9Wpp6sFk9jm93ee4eVzB1w5d8CNU138xGI8s9gbuMKK6e3TJqSjlmw2jkkaGv/gz66QJCovXRxy6dyYixvH1Umza7TwjBidgt2puJS/srZDuwxppzP2zDYTahykDYJUTJW/09qm6wRcKgbs6m1eP1xncOQQBDqtZoJnJaxHx+zabYZlnb2kiZ8I93h31iK0xQ3AVHN6hsEwqy9GUAvxND1fcEqho85wSIlMnfVywuZsxM2dJvNDi3/v0nXe8s/wzT/uc377RJBIbspG0+e5+T5qvWTsOPSUEyJ0RkUdz5KM5JsHT9Fvzvgbne/zLe0p9kcuf+f0d9mIxmzePeQ7Zz7F9can+a//yX8HRcmf/cov8O31C1zPe2xkx2KvuaaxH3sMZnXhHtcyLqYD9o0WO1lb4KB6zKZxzKSsMUqlLvZLi7fvddkfbJK+U6f5nE+/E3Khc8TN0Srf/5d99FRhPHQ/7Db+SG/ah0FDXinL8tX3dbIe6gT//liqHDp5vFBANCqf2cQWsnKXQMY4kYEZK0L+rok+bVEoNAcmk5kgiJZNjwhdvE8XyBnbzKqGDECWKZU0Z1Jq+KFZaf0GMyFBtxGVibY5/yFrDlvN8EpJg209k/93gUH1c4sJNQJMkQTNpozHJtP7VqUcaesZnioiZZO5xTiuMc5rwuQJxU9motQYGS4ZavXEX9bK+7HHXtFirDpMcjGirpg6Wik2kZZHWIgQ+fIz61rJZG6xP/OEEK+UFaRz+W9g4W6+8P21yXCLmJYqqbJv1jDNgnQh7BYmOtr8Aa3PsRcjnTRBZ2GURY2AHzZo9mciJueVES1bZuYjxSXQbdp+QKZoTHLBNDOZs7V3n04WCP5YUUkUHT8XTSdbzwUttiAUTKgxjASMExU6Cbq4OyxE6pf45SjScKc6wexBYzLJVFojHTtUeRiKEUApPvjnccZD0+NlXQv8If+aTvBxqrEXNhnbdXYOmvzF9RbfPHuBMDHQfmnMC95dLp3c5XV1gyjWCN0Cty5wQ88WWto80NjZc9G106yvSPPhdryCrYu0ZrjAM280/Cr9dN2MolDYU1a45a/y3e+uoD8n9DVdL3GtlG52gqvFhKrJ2+lpTC1n+9QUT4lRSxlXBInB3n4d183orMbcOm5jG/K+HWfGejCmvm/hHWsEL5oVEN51YgIs3vizDp1OQq8zZzSxUFV44/BMpV54qTfC02TOPJg43PujDtHnNXrtOTf1VaJEbrgsUxai4zmjoMY3lPOEqTx8Orak2e1GxN7QZTI1+crze3T0kH7hE2gWvm4RZRZJpskcNNbJMhWnTOgkAapZMlFrvG2us3F6RstLeWN4hv1hHUA6/WZOb0UU/NWyJMRklDjs+w1atZgNZ/rAR0h94Gawbvuo7ZJ/+ufP8uIza3ypuFF15v/0q59j8+6QtXfv4VwRPa4DvSkMoffW2egErNf96mF9tTzD7kTol+udGY6ZMTFtNuwpF8ohu2qbAFMQX705vpvhGoWk3ZqoXby7kaCcm1P+jx8ORFRKMJKP5kn7MCf4q/xVSNWP7ASvqeJqXigqL/bvsb4SVBYcL27fp1POhBpmRmye8tn7pZKtUz4dO+TaYI0o0Wj+yn2eXZ3Rr58wSewKaTQMHAbjFhfXj3GNhKTQ2Pcb7NzzsO0C08h5a3ya8YlNYyUhSjR81aSzEpPkKm+pZ2VzlgoHJy5JplGU0DI9Qt1g96TJ6EROniUjZKMp88dB6HKrXGPSqrHy+WPCuV7pRLUt0ZcKC4PLFyfYRl5hY1W1xDVTcbXT9Gp0E+U67UZE+NKxGCjrOUEkOFtTL7j09DG6VrB7vyGgeVvHXDCDlml3louOsFvLpN5MLG4pq5UzfKc2F+K5btH15kKcUFTGZp2x6hBgERYGnUYk9biVQlfAKv3VGZ6V0LbmDFKX/8H6PGb6wAxLVUocVfDWS8ZSUSoEioVDSt864crTOm1zzrcuPMsQSU1fP73N9e46zmcSBpbHujIlQYy82o1YzLfUHE+NSUqNvahJy455YXNYCSsMozqj1EE1ysoipt+aMdIFwNFtz2k5IsKuqyW1T83Y7J9w03xY9xjUTyIJXlXLKuXZVo9Yd6fcToX4vG2PcbOYRBMYXNcJcc+ktE1B2owmNqpa8sVn7grHljlvZ6eJMtH/3Zk32f1BnSubh7SNOaPEYTitcXzD5dRnp3j1lFt3RNu21UwrF7qOJ45wNyeruKYQEMaBvdBVUhi5DpmlcjCuE0Yy81uqAvaMQJwRlDr7c4+B6nK+PyUrBOPrmWJNcZA2SHKNrc60uhZLV72iVH4I2KAiKV3LjvHWk8WoR7SMRJEiY6slPNZb+1KZZIWKY2QLemONohARNNdOK/piGOuMfYtWQ8ZQm41p5eLXscMFX1YlUCXlDwtDhMvNBMcQ4XNbz2jVYjp2KGWDFnPjZI3vvN3j5ctDOjUhgkgqnldlhqouVEuw0MlpKRkXXJmzXmW94grfLLsUikKgmmwqE3qlz/6i+vLsRKRolUJE2RWdMO2wXvfZ0CZyWmMyKF0RBuSBW2DHDhcPxhrtekzLiqpr3u+GrLcCdh7aPVbQP44n7U8aWa4ynNcZeB5vHJ9hf+Tyhafu4mcWr97c4MsXXC7WhoyjGgcnLm/fbFcn22Ri4roZu9Mm5kpOWwtZt3zR+UlrIqm6ekKQSP10vn5EeMpgct4knOskqUZ/LcQxM1wrZTIXYypdK+jU5mzYU/ZjQfBsdydVTbtu+9hKxtWyKxu1MxcYolpykDTomyd8rfbnXDdOc2u2Spg8OGX9xOJ63K0YO0mu4RoC4tjxWySZuCN4RkzfPsFRBMvbMUMGkcvOYZPnzgwFcFIikD0z4da4jR+aFAX02nNeat/lxmyNg6lLb0V8biaBSWEJzO/8qvjZbnHE1fwMt49XKiDCzbstvHqdthux1TrCLDJulmvCssk1ru+LyuKXtu4smD46t+dCr3NMYdx84bP3xQ0gM+i64QN4o99gMK4xOrKIYgGcTCJJyzeavjgbaNIrQIft/JBCUYVzXLq8nff5tfBtIt3g684lwZlHDcxaTpeAv6f+PwxocoA8jF1ivtz4Pj42o6JepdGeGhNYUq5MQiGnvNjc5xYd3tjvomsFcfHhrnnKx3jk8xNFWUrbfumwBoLmyQqV4aGF/7RFqBvVUxIgDEVB0HEyvIao8ZlKXrm+2WrGuuULCbvQGcwl1bIR8ILnpgThggq22LAtS/x+ls2oJfZ2Ccyo7DaUElPJcUge0NCW1LZC9KEKFLx0LgyXE0cI/Yr40/qJKA26Cwrh+31qqwuuFhVaKEOtUE+2ltHxZMZqKxldJ6xOjqIQbLKqihpkhwDXaDLRf7gBpKuCgS5QKqXEZSxFvrOK4mcyWqkLUT6T0z9IhJe6VM1cXpMsl/Q7yVSp6Y0MWFio6DKTLhBsdzAz0HXJTJJcI1gYd7dWI2wle/C677smS+uWMF/gx7OUvnPCAQ1GkdD2MkXFi+ZMLIeFKCc6Be0sJFnYorz/dXVFEFFLkIpf2kS53BeTE+vh9LyShxEGHls8WhL8gl9qknFp5ZDt5rGId1EnPRFvlar750Q8d2HM/mGd8bHJlU8f0avPOG+NcEgxywy/sPC0mK8d/Cm3Oj2umWfIbOmUOqQC8ndFPlNVy8oLtmcEdM0AlYKryRmSQuN22KZlRrTNOTt+q/oSN+wpDiL5EiUaw7FNUUhXe7srYAzfqHH1sMf3Xu3x6VcGtB3pNgfpQkgt1cQEealMoRYVCd7VE1paRIeAG9kp/MwSsyrb54vme4zUOhkqLxl7jBWH3WzlhyVBNblRt80j3JWEa4dd0Ykyikp7+fZ0hZ2sxXV9TWr1QqkeOK1GQpKpTE4svnHvaVpOwlbjmGFaZ/ewwXgsihHjRBQQXTOtvI+Gx6IImSQqG6dntN1IHoiKyJQGoYHv61x8ZlrxnJdeRV+e3yJRdV6ztqqH0b7WIsJgZ75SlQs3vNN00xO+cnidb699ikHhCl5cs9ltrjHRa4LcohCPoyyh0BXGSa1Kp5NSJgu9lZAolcbbN3c2yTKV9krMwaDGPHzISQton8STNkkFbdQtAwpFhve3glWiTOPzLw057x7RKQNen61Xgt1bp32uPBVze9hiMrMIVswqxQQZ4bzav8iNtMu1H6xx/tQxLSNiWMqQ/tZus6pD3xyt4TVSOq2IS90Rrpaw7zfQtQLHyJgkNlmhsnPgVcLUl1YNUEX9b3xscXJosnI6Eu0mLSMpNW4ZXda9E4pXJN2ezK2qm7vEQC+NrXdPmlzfa9NbNES61gy/sBgWIjRma1l1OkSqzvXoFOO5zZY3+SHgRVYoQtmLDfaaKxzkHuNE9J+SVGw0/FhkV7uO1JpZqeLHJmEi9pFLr1rbzFGtrNK5GkQu45lNFGucf/oEUxfP3MnMYjSxFw7six6FUYhGcyOibc+rbrGrJvTaoXznc9G63nCmwr9NTf6Z+jyuntBVZoyLmqhIGDI66tsnVaY1wmVi1NhdW8Um46uNdxgpdfzS5uvZxUp4brs+xlYy9i3RmHb1hDA3KFSFLX2MSoPRXJwUo0Sjtxpi6oW4xiuwa/wI4IpPYk2rJaIa0U5nBKZFoJjsDD08J+Xl3j5bxRFePmc4qTE6tjHNgitn7nPZuMdbJ13Gx6Jm0WpIu/58c0xSaHxntsm199rMvttg41dPUI2ScVbjYFxHu1nH3xIgfPOay8wquNvJ0F8q6bhzBscObi3FbuYEiUGYGOztOWiZQq6XhBdl04aRzvTIpH/HYn4qxnOSSsdoN2nRswK2e2NeG51lMrMII51eO6xqPEdLWdem3ExXOb7ahCui02R6OeO0xu6kyUZTWEbLNDpUTG4ftsTy4pxBtxGy6Yi7QJbLrNYPTfbz5kKqxiQIjUWtXuLPTUytYMs9FmJALrPcJNN+SIHDsTJsI6tE3cehvTDCVtlak41263CFvYM6+bsO6dlYDKy9BNVYkCLsOS0jYpzUULUSh4ROfU7U1jg4dChaijCR7IyR7vB7/+oZ1s+E/N0L32VY1glSk0jXcZSUnnJCpkgZNSrEx3Y4r/OVxi2+uPcOr599holS41tvn8E0xfKjsx3iqClvj07RdUM2alP8zKLIFbpaQKSJpMzENwgCne0zYo3pmTFFoXDXeBif9vHPYz8oHm16bBW03IRQMwkxhJGxqMtcYvrRhP70mJfPHTA8JTfhIHQZKtuYRsHF7Qm/evodJtQqWweATXdCdk7hpgpBYjDRbV6w7zJYdbljrdJZjbGtnHenBkYtZ6UlDZ8k1+ivzrD1HNdI6LmBGFY/XcOrJ1w8dSSWiYiPqVXPGHdV1uoZuiY1KooAMA7iBmFqCGm/Puf2sIVrpXhGTJgZDBKX14d9HDvjs1+5S6cu6fFr99ZRFbkGIKdhlMuYI1BNLvcO2Vz1+fofbdDtuiRPa3RqIZ1ayGB0liDUuT1dkW67m3Bt1kbXSzZOCX1uElrssEJWKPhzU0ZOZsZGfUqQm7wx6tGqx/RdUb6w1YwrzgFv109zNVwTLS9NboutsyeYT01FEmiRK968t8KdN1Zx/1pKzzO49oNV+p0Qey1j4NcZjmu4jjgn7ORtqd+1hFdePMDUcoalKx1hM+KN+2ewzYwLrSPhUCsFfdUnUkUwYZc23zj3GbbnQxw94eD5RtU/kNO0JFnVcNWEthIy1moCaVSbhKVAHK+cPyIrFBwjIytUBrM6L3YO2DHDD713P7Zz2p/4xXWp6yaawyBvMIzqtOoxtpGznzXZMI9pWTJOsLWMQDEYndj4MxNdF/yrUyZEio6pCmZXRWaCXSckOyPolyA1UW1ROczPxBURvrma4DVSuu05tplRlFKj2XqGqyc4ihDx+6szWjWBxBWIWJpt5nheRubkeK6kkUmhYasZfd3nRtZleFKjY4eicF9LK3WNAkWoeScmLTdho+lXtLWxb9P2IpGaUR+MSZJcgCF9+wRHSzFNecwv8da6WuDUMhxbeKzLRpfXSEUgz8yq+lWabSUdN6rSTldLhM6XapVXLyz8gwv5DIAALxbXfsmZtfWsWudS/TBKdPxYNLyCucF+5C1SdbE4iRKNg1CofKaaCw2Qsqrhl3pORbHwAS40VKVkSzkiU1SGel0e1Fh0jAAnT3jR3sdHaI7LmnZDm/wQlrgoFbEAKYTa6BgPrFD82GI4dUhaH17PAh9rwsBPFLYpX/qb0Tqvv9NjOLT5j3/5z9mPPP7n//VZdn65xZX2gP3QYxJZDCc1vnejxeY7Ns6v3UNXS95Mz4p58WKmuez8XjYHfNkL+F3/OQZTh123Tdec8Xe+cIur904xCUzOb07Zak+5Yh1wNe4ziW3alsic9pQTfGwidL7Y+QEuCZ0sEASRYrO+FmD2CrYbY8ZpDT8RkkG7Nefv3niN/+LCV/jme+tstn08PWZ75Rg/tdgPGtiLuqndFF2p88aIf3bnIoNDITd03IgX3LsEWNWD6CBpcOtei61njukpPl996U4l23L7qEWU6JzvT+k7J1zW7vFmepa9qccXn7lLUmgMZnUcM8XUCnG4N3xeGX+Pb7Sf5a3j09hkRIqO7+sMTJFz7XuCMDNLORnDuc5+WsdzU764uU+Qm4yjGvuTBkUJ6y3Rao4+PybJVEZ+je0zUwbHDv/HHz6F0ciw7YIsUxhPTHbvuoShEA2+9m++C8Be4NGrz2jpES+culcJ1N2etRnNavy6+iZmljHuObwxPcvbt1cZf7rGi84+v/27v8ef/PXn+frp5xjj0GLOV/evsbu6xvVaX+bbmU5QmIyTGvsTMX9zjIz1ms8orPHen7T5g1hjktU+9N79xNa0CnJSBLEjzYtOXI1cyl4iJwYl6zUf17CJEh2jlpMZJQfDGrpWcNE7pKsEdPKAt80zFVk6VAwCzZI00ZQTc5Q67B43CeYGulbSchIcLRUX+dQkiA0uNObYSkaAxSh3CHOjUm/wdZtkaSVy7OBYGRuuxiS2Gc8s+s0ZppJzc/0Mo8SR8UlqYGsZbX1OlEvdOIqEerfUtgLYXBPQ/dIxYFTWxYUehWFcx4/MipAOolWlKiXtWkS/WRBlOrcOmoQdnfXOVEyrNLH/kJNEml+mljNJbHSlYNfriD9sZDwwL1uNaTViWrWYK/YBTpmwq65CDltnThiM5Wb2tJiuFrBtluzWViqvXT82GU8sNk4HlcrH9qkpF04fsz9x8WcmE9/Erad0V+aoisgCXdbuMVLqXJ936NXlOu5HXoUhL0qFTn1OkupkmiYiAIVCUYgJWIbKnc+ew8wyXj75PlcbG1IDNzyGlsdB7tG1ZnStWaX+aOoFF1sjOupMyiCnTtlL6K/OOHpIa1jhE3rSggDTR76N62S0PVGE0JWC9X4oPFJyukqAZ9QY14X7mtglJ3s1RrWc3voJF4MDNkeH7G2ukJUuSaGJSbCi0LVmZKacVsPQ4epftOl0YmleWRGmmhOh40cmQWTQVkIyVMalwyh2quG/bWR0aqKqn+Tie9pqpQRrJuOZxdi3udw9xFRybninGY4cskwhTHU8U8VR0mqDjqYChu+vhhVUccs9plszGc7FYnMY18WsGoWBX5cxkVZWQPzBsYPnJPTdgI4pnNH/++Y6wVmDCyuNaqMGiYAHTC3H0aXDfftkhSTXuOV1GQZ1wtggKuWr7rYiWo6ghK5MxXrkDXtDyOOrx4xPLOH4EtHPpvTDCY6XMjFk1LKnNBnet7hwbkLXkXVtOce8FL3HN09d4OZ4lTASUbrznWNaekRLmXN5vM/N1mn8BdjBJmMQ1PHnZmUstlGfEpUGxaIpBaCqVGqKbz39NFuHQ16+/g47L60xUuoMnCYHqsdB0OAl9w5uGXOd3kKJJOdyecCGP2bHXaNjhvROzdlo+txSHrIjC3ifBdVHKh7tyCcT6dJf37rOiDp+brEzE3TNlY0hl6z7rKcTfN1GV4TwvHX2hFEjxchVcUnD5DvuM3zDucjuSQtTy3nOucfNeI3r9zqcP3WMqycEyKY0zQLfF+7uLWMF13bx7CZJJifT1bBfqdtv1KZs1OCfvv5pPC/DeSqjVwuwrYzOqige3D4S/9fumWNcNcEko0Ct3Ma3m0LD+/rONhudgK3WpKoXt1eOUSnZy1oEmcjN9GpBVctGhTSg1lsiFdrRQxwSJtREHkWR5lmiyIy1cTqisxKJHUjtPnqt4HffvUSSqrS9mO2OcIzbTkSY6nx7cA4QS5Fl3ZgVAjYIUpPfqX0OR0u5oB0yKBoMIrfSHX4zWMfUTqObBb0yEI3lxGV0YqMUCgdHYr3y0tpdChReNT7FjaMO4xOLixvHFd0xK1QiXeeN9hYhBs+tH+Ko4kDQdkRjOkwEAmqrGbfcU1VfoVef4V5I6enSMLzqnOXGudOY53JUCjwiDowmJjlX3AOGpctB6Yk7hDHH1RN2tVUGnseorDOM6nJdKVEexqdFQf0k2oIsfVa8IsJX5fQJEmOB3Fk8SSkIFZMI+XtTL7CtHMgF4IDBOKsxToTQrqsFJssmBpX6hKSLJZ6XEgT6+5A/Ba4l81RVFcc9W89k9qssAACZjFOWwHdHSStH8qIQepiji2droujYpYi+RZH2YMaaSJpnKnnVGTaVvBJR8xPpfNtaJgqISkFYGtWs1lYzbCSVTxDXOF0rKgHyolRw6xmOLSWFiVheLNUek0zEvh+4v5fV7/7yd7J0evBjk5Ydc8EZAg38WJwLVaUkTPXKWsXRU/ks+QNv1yDUCRzRZ4pKnUHk4ocmUaxVGYcfPTDknmi1SkgdqPxvdbVYeA8tPiuCblIR3Lqp5YtrIv/exyYpNbpKgElWNaQKFIalADFaWgTqQpy9lMlFVCzAPKkqIvgPYaUqn9STVlFKJqHF6/Y5btxfZTSxOb8+YRzYvPp6n/AXDcKGybXgVKUoOJra3Hq3wYvPj3CtlIOkga1m9OyAtqnJzY7BBeuQi1tD9vOmiLvlGr3GjI2mz7W7HfyZ1Ij95owX6/tci3r4icWWe0xLjeiVPhNq+NhcfGYip6k9o6XMcUjZWhOq2ZJBFOU6V4c9NlemfDl6hzC+zDN/7LL7Yot+/YQvP3OHqNAZJQ6TmWzQca0mc9Jc4/a9JmGkYRotNroB261jokKvavyDqMGNqMOWN8FWM3ErX2QEo7lDlGl0WuIU2FIj9gv53M+tHxKkJvvHLvsTl4Fax6sl9JyAv+l+j29Gz/D2boeXuwmZohIlglNOUo0Xt++LawIqw7jOjd0VPDfFqyfVSMhRU26edAgTnXXvBMfKsOoZUaQxmtjsrK2QFSqTueCNk1Rl76hBUcisu7syJ3E0+tYJQWFy87BNvznDM2PGoTzIO/U5SaExTmtcUfcxiwzVLNlPPa7tdQhOm2y6E742fovd5hq3jC7D0sVTIr4yuM7t1VNcM84AVKOjMDcYxQ6eISe4q8o8/OBejWB2mmlofeB9u4xPbE1blFSwNdPI6dWF5hV+Sqdbm+ESc8kd4hcW+3OPiW+ycmjgh6aAANSskpsBZL6qnRDxoE5byqaEqcE4sxkd20SRymbvREZJiy5tVigVfSvRNFrM8YhIUo3CzGhpEQ7iOj8OhQZoN8Qe0tYyfNOsToqeF/LmCzM+Y8lY5ba/grlQi1y6rIepIbI4RoJju6jqwpPXiR7YfSxOx+VYZ/lZBISSsNWeCsAeGGUafmRyUGsIgV+dcyNcE2LCgk63VDM01Zyh6qKrBd2VOSY5CRphpOPYGZ1mVPm6moqMkIRoL+9/ELh4lki3tO05nZrgvm0jk1HeQu3w/QyrMFroNueLrMXOMHUZFU0ym6xU6XlhIqCj0AAAF0JJREFU5W27/MymKqd4VqhgQqZojKhX/r22LuT7QlXJFLXqiwCM3AZmnrOtHnJN6RMWhuC3Fw96V02qk3j53Z0/5/O9xXf0QfGouscf5OXzvt//Jgsdtg96jUe+aZdh6oWYXJk+mOBtxGzqx7SKORfn99ivrXAzWWUyMTh3z8APDFp1XXSgwga37zWxrZyON+eiXRKUJsO4jqsn1RfoRyYHI4ejuzaFCr3GDEdPxU0tE52n0dypfGledvdoFyHBXEyqW8xxSplnHhzVUdWyoqa5WsLEtLEXZlMbzpQXnx/RNucEucnb76yyfjqkvzKj7chGnswtsdPQQzwnwTZVLrQfGC0nhbbguy7w04Y8pLJS5d2/aLJ2ds5We1qB8pNUZXxisas12W4fsZGOeSM+Q5TqtJ2IXi2gpUWV5tNeJgbT660AHelUh3OdXnvO5sqUwazORLWx1bS6hrYpDKWdex5tLybydC55Q1xiJmVNxAfsHNvKcZ2UnnZCoJkMhjWKQhpHQDU7Xqa+o9jB0VM265OqnCkKhUKRzVRkUrpklsBdD+IGQWyIkokhbn2RbpCoOgmalAaU7Dmr9OIplw/vcPPUKUGB6SqukuApEWa5sA9RatWmvbI24K4SffgN+/A57Y9rC/JBXj4oirIFPP2wF3i0MMaFf8zOuIkfSpfw2/c2pMGSqYQdg77loNoFE7VGkmn0T8+5/4s5V85O8ayEcVaj75yw+cyE/dCTUy1dxdUS1m2fSWaLM119jGfWBaSvyal+2R4wKuvcOlkV0H59TteaVQD3vaLF9ewUk6mki982NytjpyWHdjK3qjpcV0v2gib/ZfpLjEc2fmDwWryO5yT8jefvsDfxuHmnha4LPrfbnDOa1whSk15jhq4U+KnFOLIZTp0KkLF8P3PBGHKVhF/8wj0cQ0Ag46TGeG6zu1en04nZXDvhoPAIDAvPSnBNeZ1JauOnFpN4YU+pZwSJQZTqjOfn0NWCK8+MGEwdXn/3NH/r2XdxlJRvhJ+iY4X8xue+y7cGm0xmJpu9Eza9Kef1EQEW49Lh+mQNUyv44qV7hKlR1aEv6z/g1599iz9oPMtOsMK2OwZEt7qjSXPNX0jOA9JLUGHXahKlOvsnDfmsZsLr5eYDdtTi4TqOa/ipxWvZBufLMRfKIW8mZwlSk5YVgQ5FW+El9jhvHvL1k0+zUZ+yyRFuFlMoCiPTpW3Oefn5IZPMJlTMv3y7/lDISfuh/+THtQX5//Xyed9/f/9hL/Aj2If9+FEuFBVURZ68ulayP6xzMHIqdcSo0BlrdflSFzpEndX4QcMilzrWU8WEy9RyJrG4syWlVjVpHEQpcUkId+wMHxs/t/Ajs7oJdKWo6HdRoYtFRagRhhrjwJbRUCx43ixTBSG0wOwK4gn5d4FBMNMrooGji+9ulisLPq+45wFM5pa8r7pwtsskTV3agiy9Yx3jQcrmWQmuIWneUg0xiaUx5hjSFPMLS7rLC1BBlOmEmbFAUSmVokWUiDN9EJmiWJGrTKbGwrS6YBg4ZKWKR1RJxZiaXCedQkZmucU4sEWCddEgWkIbvXzO1v37tBRRxHAVQZuZao5Nik1afVdJqS0aacvPJVaVRalgqmKmvaToOWZGuxFXtMrdQYNJKg+kpVhAkJqM5g6DWR21LHFz4euaao5eFiSqTqQaZIhiSseZV///h4XwaZUP/Plph6Ior3yYveX745GetOnUYHhc4z/8zJ+xl7cYRC7/5zc2qa9H/Oqzt2krITYZN9LuQkpG0jPTKLj6Tge3nvHFT91lP/S4Pl9j3ZMadZzWePtul4P7NV64MKJTC/FLm5vjVf709VOcenoGwP/+uy+zdz7m08+PyXIFUzfxYwvPiumYISolrpmgjEyibkKvGbLtjnGVhP/mL54nyxT6pxUuPTPivDHidraKp8X8+/af8jvpL/Dqm33+k8//BREG//2fXGZ7w+eLFw7Ym3o4ZsqXGu9xPT3F1buniFKx29xuHeM0U/qNQNT7lZLN2oSWMqdTzNhjhf3U463ba2yeDjjfHXGgCBa6f2ZOb3VOzwowlZyk1PjO2z2iSKPVStg8E0jjrX0AwCS3SXJhS22snpDkGld31tD1gm4n5uvvbGNbOevtgGuDNb55tMGFjQmbazGDqcPQP82bnMaxRHMrCA32Bw7fOTzF5uaMXnvO5dqAa8YZvn72Wa6922E8MRmcE22pYG7Q8cQ8+7Vrp3CcnEtPjdlsTPG0mNt3m0SRSstLabsyU3/B2CdD42rU57J3n/VyQqJo+NiYTwlh4/X4HM/Z93CshIHiYZLhkPJWto6qlPy95DXC0uKg1uLN4iyjyKFfe+B42DdOsJWHmFU+/KT90PgxvHzGC2OAzy3+/n/5oNd+tMoVC0bIrbTDftBg5NcwugntljiJB4rIhFwy7jMwGuyNGxwMHcZjk82NGb22KCYGmjh/T2K7UoXor8zotWZEqcZYqXHBPKTXmNE4LUbRulYS/PIx5xxRa3Rtgfi1LKllxkmNlhHh6TFKN2FjfcaFxkjwsaVFkqjoekHbiwULjNwwUaEztBpksSpAEDQShBo39u0K95sVKtfSHlGus7F6Iqe8WlT1XJgZ+LGkaL5poery+w4zTCMjSc6J2zly6ojn7EK5MTfw9BhPieiuSSOt04roN2d07RkmWWUr4lkx6oqsJ0q1B2IEelEpVjpGiudoC6K7RpTqjCY2rUZCuxFVVL/JzMStZwsNLsk6CpSKYC8KH9JLiDKdSSDY5EQpcZwcp5ZhagWeFtMmrDKcpashwFbLquxXBqlLqBt4xKLqqacVpDXAIlRMwlIQbSZZlZXsNjq0kxkXJveYtGt4dXnoJaVQ+DaKY+zi4Y2on6R7XJblB226f8T7xBEXjakXyrJ8dfHn/wBof9hrP9JNa9oFul7wnXfPMLhvE801Lj87od2I8DOLSNVxNZ2vDr7L3soq30ifIr/W4HP/r03tPxtwvjlmXZkw0FwhpPs1bCOn2wjZco7Z4ojfufdZ/LnJZu2IoGYxeKrO+MTCNnN+/VPXGRYuN6ertOwYR0/pGQHjrMaO36LdmtPW5myeDTjfm/BS9B5X7Q0OogblXEVfyem3Zrjqgsuby+jnmnGaKNVotxImZU3sHms5B4Ma773T4LNXjihKnW98f4PL22NeWLkn6guoFY55MreYBAt0kJ4TmCaBYfLl9F30MifLnhcliGKBeNJlJpvlKpPUZksf081P2D7tU5TQq8/oGQEt5gvlCklF24aczNeP1/Dn8lrLckVVRHTOM8Rcul2L2D3yGPsWg/uyabe8Cdv6ERkqN/U2npPQcSNGwSJNXShGmGqOvpixX6iNGOUOuzQWZQki/WPJfLxLQC/1CUON9ETkekYTm+G4xrZ3LDPhTK88ci/3D3E0YSS1NDHg2s3FOQBANwvaCrTVOWFp8EZ+ji8Y7/HVN66iX8rZ99pct/okioajplwcH1CP4g+9d3+EmvbHig/z8ln87t9+2Gs80k1bN1PWOzOuvdvG8zI6nYSON69U95NSToNE17GzlBc3Bnz78zrXHI/nM02oeKZoKG2fmrJ/LL6qQ5yFyXTEVntKlOu8pm4xjmqVkZapS/3oqCnr7gnX73eIEo2/ueULYaAuKXRQmPgzk3Fos7+6wk60wt5xg9UzEb3OnK26IJ6GuAv2js5u1GQ4reEHMrRXKel3Qta74jYQRAZRotNbi2jXooXZsVEB8P1INJBbblL50ahKHdPI2ehPcMqEeN9mP1PY6zbZdsfYtYy9wwb+zODGQZvuUzN0TZhNKiWeFhMWBiEGg9gV1lCqV7rBGw2fXl3joOaKDI+Z0DEXMMtSrhM6sApdz2B9bcal1UNeyn+AE4nq/986p3AzXuPN907RchNcO2VcSDe+bc65dOZIHmyIQZbnpFxsj+hpJwwbLuOkxs64Sbs3JzJ0rLsWzVDDP2vQbUd0PFGMDHODg0md4dhmPDbpr8zo1KSD32LORjrmtrJKmBl4pnzufbWFq8TYSsat+So3Gj2+9cJn2Dw8pDuZMtp2GSgeu0mLie2Qqw+Xm1F/Arv3RxmPlpqniglS5f+6aLgs1RqWNUZoWmSqPAVbjYRBN5EGSq4TYkrtaSToWiEiZjMT37UITVOc0lEYJWJXKcgngQC+/xQY+5YIlW+JVImrJ1W6qyqSPoaKzIODuYFTy2QMpMwJMYlK/QH6KdUrsbesVIVwYKUVjS1MPMjBsRYzU/IKoCEgeAHCL4XShhORcSkKk6AvTSs9VYgTlTAVOR6XGF0rRB96rjNJbSZW7YeUL7JSlbIjMcmKB2l6USr0bIFPLjesp8f01YUkLA1sRdYZ6KKU6JoJHXWGF0njBhV6uc+B7pFlYgxm6lIy6EjK2jIiCl1S26yUf+OoKS4JoZoQaOJoH+aGcGatEjUvqKkyHloSP7JSJQiFvB7PRL4ns6RcMcmx85RMeyDUnpSS2rt6vFCc1BhnNfbqq2weHuKGEW4eo+siRhdpBqX68EbUJ5blY+sZrWbK3Z0680CDs8eEmcHbwamqS3m70WWgNvj9P3+aIJAlBZHBfukymm1VAuFeTTbz966tYps5/doJV+90yXKVL23dITE0AkNOsSRTCTGZZDa7J00G923imc4gdXG1BEdN2ZmtMA4FpdWrzyp4pBg8Lzx+yIkWm6JlRKLxZEX0GjOZryIKEUEkP6oC3Ybc6JO5VcETh7GQ/Jcjmp4nkEYA83TOwaTO7R806BCwOT+i+ZkTHFvUJa5PuyS5KmCGRkynPmcS21yNTrPdEEf72ydtuo5Q3i41h3hEbKUjbhld9tJW9VCbhJZI15gqW/pYgAelQlsJWU+PuZGuMQ5tNptTBnmDb9oXqqbNOKthqxl/+9I7HCQNsRjVIoLCZH/uSXdfyQkLQwAxkcHbx6e4qXeYhOLhtNEJ6Bsn9Mspv/Jvfb+ClQ4Dh92Rxwvn7uJrNoPhJqZZcPpsiG2I1lZXFfjowGqSxFqFNssUmXMHpVXdU0kpnkNvbGzjZXNaSUhLE6/csVEn0R6uxviJhDEWpaSTqlpy6tyimTG3aNVitpvH4ruaGkSqnGLr3Rlj2yaMxA2tZcf0rIBB7MpYYkHeXjktgt5hYSzwxSWb2jGDssFwLvKgqgLDtC4KiZHBen9e6TCP0xp7U69aZ5TqDyxFCnFkn0xMbCtnd22l+iwgs8elx62qwEZtunC5p5JscRZqjFGiyVxWq4ues5YtRjIaSa6S6Fql+thpRDjnM8wyJ9RN4SLbWaWXbGpqdbonuVY1tirZUCuma8xoEzIq60yocdPoCUnBCNjNW4v5p9TQLTPiVtoBBGu8T5Ox4WDmOa6VsjttihKHGePpUv9NEqELTtQHyoYHaWOh5LigI2oZPSsg1KSBtiTmh7HcB0mmEjZkBLN33MCfmdLUWgAzbqer4ha4cO7znERKAKXkVtKhpUd4alx97n2/Ieu04spqRFel2bWeTwg0i4leqzDNl+0B3chHfZiZ+ieVBJ+WasUTffGZIW1zzqs3NzD7OV/O3uU1e4udbIUIA5uMl3oH7HothicO294x69qUl4+/z//WfI63vt+tQAsXnxLl/kksYmQtL+E5/w5vepuMgj6X1kaYas61UVc6sInGC5v36ZoCcLh13OYH/+Isxl87Yn1txmRm4dkJWML/DUMN447FzkzDq/foNOZ4lohnT2Kbm3damEaBY2d8oTmTJ73aJQh1RkeWgCa0gklgMrDrmFrOeWMEOrweb1RUP8eWzna7HrPhTjmvjdCLgqHRkFmzJZu2bcrJvY8nihhzi15jhmfEleJDzwrYKo7oJj57xqc4mDe4fb/Jl566w5VynwOtQZHI7LZlRazrU37v5kWiWOPFZ4bcCtoMxjW+/MwdPCPm966ep9+bs316WmGg/dhk5NcYHNpsnhE+7e7Iq2a7vlbgWBkX7SHZghAi8qvyHUSxRjDTOd85pmNYfO+PunT3TaaNgvmzARtnQr5186ycyKcCOnWxQHXUFD+3+M47Z+ithmysnFQPu+vvtmSdp8Q4G8AxMnrqCVf2d3l1/Vl28ja3/RWurAz42v6bqGWJvqzZPiA+uSft4mToteciopYa2FYuKWIa0bd8cOFysM+g1uT3h59icOTgnxg4VgoeJJq4indaUcVaGU5rtOoJLSeu/m6v3uZmvMbV66tsfVHmgK1ajK/I2OH2UYs93cO1UrJCxfrrI17aGtAzAwZNl01zwgvjXa43TrHXdNk7ZdBtJ/RbM15q3GErGfG6/hRJodFtz9lYOWHd9rkQDdi1O7z+1hqXn53w8vY9dKVgkthcv7XCpbNjvqC+h5qX+JqcBI6Voa/MCeYGYWxgGzlDrQ42XFIHZGiU/+QM72ylZF9ReK47pKOFHCgNwsRg526D9U+f4Gkx/+Cbn6HTSfjV577Pm8VZEkUjS+VheXunweZai443YzRz8CNTbDtzjcTQF5BFAYaseyd03bDSrOqsxnSagjt+Ub+DWWQM9WdFGnVNsNemlrN/6FYAE9fJJMMpXEnHE41WPcYxMnYPGiJDu+HjaXJyd+4Z2DOVo5d8HCcnijWee2pEVqjcXLgpmFouDwFVZf9Mg5Yd0zbnYjmqZeh6h44Xcd494q2RdPW3vWPcMiawbewypa3N6ToWUanzZv9p/qN/8XVq++MPv3k/qY2oZQLiWilRqi2I3gKqN+MctxTHtp4/xTdr7A/rjEYW5YnOeN3GdywyVRodjrXwcM2kSbH872UTcKI5jE5qNPetqjlkank1Khn7lhhDNxJsI2ejG7Bu+vRKwUL3Sp/+0RhvJZbU1Mlw65IebqTHXBgecHVdpG8cU1LATcZ0A5+B1eTsbRvzuZzzpsD+kkIjnuriqzobM7EcQnUxolALdLMgmAvyKsk0gsRAVRyKmgiNX/6/LNxjjfv/hi2eOkjKnWQqk4mAMmwl49N/7HLwVEL2WbWahW+snhClGrVDg0lo4TcEyRQlGkUhDaul6zsLOw/HkCZQVIgjoVPLpJGmZqzPjzHzbEGdFEKEayQyd84VMbwuFEyjINFVcbTLBRVmavLaUaTiOKImspSFdXwNtYD2SrLQyBa+cVToBLMOYUMeMO1MOv3tmvQUHDXFVgSjvdS37jCTcizRhfdc5CS6jlnm2Eoqouylwr7agnfuw/GHY48/yietUj4st/9JXlxRDoEZMHpkb/KjRecjsAb4aKzjo7AGePzrOFeW5doH/VJRlG8ga/ygGJVl+ZWf/rIeHo900wIoivLWjwms/rlaw0dlHR+FNXyU1vFxjEdKGHgST+JJ/PTjyaZ9Ek/iYxY/i037I5tQP8L4KKwBPhrr+CisAT466/jYxSOvaZ/Ek3gSP914kh4/iSfxMYtHMqdd8AJ/AyHz/hXxqkcdi/ffQgS0rgJv8SFiWo94Lb/Jg1Twca3hN5BrsIXQwH7m61gQvAHGyH3xWK7Fz0WUZflT/wF+E2gt/vyfP4r3eMj7/8b73v8P/9J6/uHPcB1bwD8EWo9xDb8GvLL482NZx2INV9733TyWa/Hz8vOo0uPPlQ8kIP+yeNUjj7Isl2p3V5CT9nGt5/1CXY9rDb8MbC3kT154TOt4FfjHC/XBf/6Y1vBzEz+Lmrb1M3iPD4p/pyzL33ocb/yvI9T1M4i3SpE/eSzXAtmYvwVMgN9+TGv4uYlHtWn/dFFXgnxRP/NYnCx/f6El+/71/Kzqp/cLdb3ymNYAf1WS83Gs45WyLF993wP0cV2Ln4t4JCOfxRfyt1k0HcqyvPpTf5MPf/9XePBk3wH+/uNYz+I6/GOkrv7nj3ENy/edIA2pn+k6FmXKFvJdtB/HGn6e4smc9kk8iY9ZPJnTPokn8TGLJ5v2STyJj1k82bRP4kl8zOLJpn0ST+JjFk827ZN4Eh+zeLJpn8ST+JjFk037JJ7Exyz+Py4Y7fh74luzAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 244.8x244.8 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(3.4, 3.4))\n",
    "plt.imshow(theta_tch.detach().numpy(), cmap='rainbow')\n",
    "plt.colorbar(fraction=0.046, pad=0.04)\n",
    "plt.tight_layout()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "tensor(1.4806, requires_grad=True)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lambda_tch"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "with torch.no_grad():\n",
    "    val_preds = layer(X_val, theta_tch, lambda_tch)[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "with torch.no_grad():\n",
    "    train_preds = layer(X_train, theta_tch, lambda_tch)[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_cp = cp.Variable(n)\n",
    "x_minus_y = cp.Variable(n)\n",
    "\n",
    "x_param = cp.Parameter(n)\n",
    "lambda_param = cp.Parameter(pos=True)\n",
    "\n",
    "objective = (\n",
    "    cp.sum_squares(x_param - y_cp) +\n",
    "    lambda_param*cp.sum_squares(cp.diff(y_cp))\n",
    ")\n",
    "problem = cp.Problem(cp.Minimize(objective))\n",
    "one_param_layer = CvxpyLayer(problem=problem, parameters=[x_param, lambda_param], variables=[y_cp])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6d7bf55887834c5ba6de91bc12a53cc2",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "HBox(children=(FloatProgress(value=0.0, max=10.0), HTML(value='')))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "lambda  tensor(0.)\n",
      "mse tensor(0.9800)\n",
      "lowest mse yet\n",
      "lambda  tensor(2.2222)\n",
      "mse tensor(0.1784)\n",
      "lowest mse yet\n",
      "lambda  tensor(4.4444)\n",
      "mse tensor(0.1267)\n",
      "lowest mse yet\n",
      "lambda  tensor(6.6667)\n",
      "mse tensor(0.1068)\n",
      "lowest mse yet\n",
      "lambda  tensor(8.8889)\n",
      "mse tensor(0.0972)\n",
      "lowest mse yet\n",
      "lambda  tensor(11.1111)\n",
      "mse tensor(0.0924)\n",
      "lowest mse yet\n",
      "lambda  tensor(13.3333)\n",
      "mse tensor(0.0904)\n",
      "lowest mse yet\n",
      "lambda  tensor(15.5556)\n",
      "mse tensor(0.0901)\n",
      "lowest mse yet\n",
      "lambda  tensor(17.7778)\n",
      "mse tensor(0.0909)\n",
      "lambda  tensor(20.)\n",
      "mse tensor(0.0926)\n",
      "\n"
     ]
    }
   ],
   "source": [
    "lambda_values = torch.linspace(0, 20, 10)\n",
    "best_lambda = None\n",
    "lowest_loss = np.inf\n",
    "for value in tqdm(lambda_values):\n",
    "    print('lambda ', value)\n",
    "    preds = one_param_layer(X_train, value, \n",
    "        solver_args = {\n",
    "            \"acceleration_lookback\": 0,\n",
    "            \"max_iters\": 10000\n",
    "        })[0]\n",
    "    mse_per_example = (preds - Y_train).pow(2).mean(axis=1)\n",
    "    mse = mse_per_example.mean()\n",
    "    print('mse', mse)\n",
    "    if mse < lowest_loss:\n",
    "        print('lowest mse yet')\n",
    "        lowest_loss = mse\n",
    "        best_lambda = value"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor(15.5556)\n"
     ]
    }
   ],
   "source": [
    "print(best_lambda)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor(0.0901)\n"
     ]
    }
   ],
   "source": [
    "print(lowest_loss)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor(0.0897)\n"
     ]
    }
   ],
   "source": [
    "one_param_preds = one_param_layer(X_val, best_lambda, \n",
    "        solver_args = {\n",
    "            \"acceleration_lookback\": 0,\n",
    "            \"max_iters\": 10000\n",
    "        })[0]\n",
    "mse_per_example = (one_param_preds - Y_val).pow(2).mean(axis=1)\n",
    "one_param_mse = mse_per_example.mean()\n",
    "print(one_param_mse)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x252 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "%load_ext autoreload\n",
    "%autoreload 2\n",
    "import latexify\n",
    "latexify.latexify()\n",
    "\n",
    "plt.figure(figsize=(10., 3.5))\n",
    "ax = plt.gca()\n",
    "plt.plot(val_losses[:100], color='k', label='convex optimization model')\n",
    "ax.axhline(one_param_mse, color='k', linestyle='-.', label='least squares')\n",
    "plt.legend()\n",
    "plt.tight_layout()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x252 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "idx = 1\n",
    "plt.figure(figsize=(10., 3.5))\n",
    "plt.plot(X_val[idx], label='input', color='silver', linestyle='-.')\n",
    "plt.plot(one_param_preds[idx], label='least squares', color='gray', linestyle='-',)\n",
    "plt.plot(val_preds[idx], label='convex optimization model', color='k', linestyle='-')\n",
    "plt.plot(Y_val[idx], label='true output', linestyle='--', color='k')\n",
    "plt.xlabel('$i$')\n",
    "plt.ylabel('$y_i$')\n",
    "plt.legend(loc='lower left')\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
